webForumDet fria alternativet

Problem med funktionen Letaupp när den ska leta upp och jämföra datum

Kontorsprogram

2 svar · 1 071 visningar · startad av sajo9670

Medlem sedan nov. 20121 inlägg
Frågan#1

Hej,
Jag skulle verkligen uppskatta lite hjälp här. Jag har en stor mängd data som jag försöker ordna upp. Datan består av prisinformation för olika datum för olika produkter. Vissa produkter redovisar sitt pris en gång i veckan medan andra redovisar priset varje vardag. Om en produkt redovisar sitt pris en gång i veckan så gäller det priset en till och med nästa prispublicering. Problemet är att jag nu ska sammanställa datan i ett index där alla produkter måste ha en prispublicering på samma dag. Frågan är alltså hur man på ett smart sätt kan lägga till nya datum med det tidigare priset för de produkter som bara redovisar priset en gång i veckan.

Enkelt förklarat har jag 6 kolumner; A och C innehåller datum medan B och D innehåller ett pris som är kopplat till datumet i förgående kolumn. Kolumn E är tänkt att innehålla alla datum som finns medan Kolumn F ska innehålla den nya prislistan.

Funktionen skall alltså:
1. Jämföra ett datum i kolumn C med kolumn E
2. Om det finns en match ska priset från samma rad men kolumn D infogas i kolumn F
3. Om det inte finns en match så ska priset från den senaste matchningen infogas i kolumn F

Ex. Om 09-11-12 har en match och ett pris 100kr medan 10-11-2012 inte har en match då ska priset tas från den senaste matchen dvs. från 09-11-2012 vilket blir 100kr.

Tacksam för all hjälp!

Sara

Medlem sedan juni 2009920 inlägg
#2

För mycket text. Visa istället med bilder hur din data ser ut och vilket resultat du önskar.

Medlem sedan nov. 201253 inlägg
#3

Antar att du redan löst den, men men:
Det är krångligt med 2 olika dataset, men i princip borde det fungera om du skriver det här i F2 och sedan kopierar ner så långt det behövs (förutsätter att det första datumet i E-kolumnen faktiskt existerar någonstans i A eller C):
/MV : som glömt viket epostadress jag hade min id knuten till

=OM((ANTAL.OM(A:A;E2)+ANTAL.OM(C:C;E2))=0;F1;OM(ANTAL.OM(A:A;E2)=1;LETARAD(E2;A:B;2;FALSKT);LETARAD(E2;C:D;2;FALSKT)))

***********Förklaring***********
Den första OM() kollar om datumet i E2 finns genom att räkna antalet förekomster i A och C kolumnerna: Om det saknas så kopieras data från raden ovanför (F1) och vi är klara:
OM((ANTAL.OM(A:A;E2)+ANTAL.OM(C:C;E2))=0;F1

Om E2-datumet finns någonstans i A eller C kolumnen så kollar vi först om den finns i A-kolumnen genom att räkna förekomster, om datumet finns så söker vi rätt på E2-datumet i A-kolumnen och returnerar motsvarande pris från B-kolumnen med hjälp av letarad()
OM(ANTAL.OM(A:A;E2)=1;LETARAD(E2;A:B;2;FALSKT)

Om datumet inte fanns i A kolumnen så måste det finnas i C kolumnen och vi låter Letarad() söka i C kolumnen och returnera priset därifrån istället
LETARAD(E2;C:D;2;FALSKT)

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)