Avatar billede Kennyx Praktikant
05. februar 2023 - 17:52 Der er 20 kommentarer

opslag med flere kriterier

Jeg har 2 datasæt.

I datasæt A har jeg følgende kolonner:

Salgs Dato - Kundenr - Kode

Eksempel:
01-05-2022  5555  Trøje
03-08-2022  4444  Bukser
27-04-2023  5555  Sko

I datasæt B har jeg følgende kolonner:

Oprettelses Dato - kundenr

Eksempel:
07-05-2022  5555
05-08-2022  4444
05-05-2023  5555

Mit spørgsmål er så, hvordan jeg i en tredje kolonne i datasæt B, i hver række, returnere hvilket produkt kunden blev solgt baseret på den salgsdato i datasæt A der er tættest på oprettelsesdatoen i datasæt B.

Fx er kunden "5555" oprettet i datasæt B d.07-05-2022 og den salgsdato i datasæt A der er før og tættest på oprettelsesdatoen er d.01-05-2022 så i celle C2 i datasæt B burde der returneres værdien "trøje".

Jeg skal altså søge ud fra både kriteriet "kundenr" og "tætteste dato før oprettelsesdatoen".

Håber virkelig der er nogle der kan hjælpe :)
Avatar billede claes57 Ekspert
05. februar 2023 - 18:09 #1
Jeg forstår ikke opgaven.
Du vil have at vide, hvad kunden har købt FØR kunden blev oprettet?
Hvorfor ikke gå efter seneste handel?

alt andet lige, så kan du jo ikke sælge noget til kunden før kunden blev oprettet?
Avatar billede Kennyx Praktikant
05. februar 2023 - 18:26 #2
@ Claes57

Dataen i datasæt A er fra et salgssystem hvor sælger logger sit salg. Derefter ryger kunden videre til kundeservice der opretter kunden i en database.

Håber det giver mening :)
Avatar billede ebea Ekspert
05. februar 2023 - 19:31 #3
Avatar billede Kennyx Praktikant
05. februar 2023 - 19:49 #4
@ebea

Hej Ebea. Kan det passe at formlen finder den dato der er tættest på?

Det helt klart lang bedre end hvad jeg har nu - så tusind tak. :)

Ved du evt hvordan man kan ændre formlen så den kun vælger blandt datoer der er mindre? hvis fx jeg ændrede datoen i I2 til d.29 (d.29 er lige tæt på d.1/5 og d.27/4) så vil din formel vælge produktet trøje men jeg skal have den til at vælge en mindre dato så derfor skulle den vælge sko
Avatar billede ebea Ekspert
05. februar 2023 - 20:04 #5
Du skal ændre MIN i formlen, til MAKS

=HVIS.FEJL(INDEKS($C$2:$C$4;SAMMENLIGN(MAKS(HVIS($J2=$B$2:$B$4;ABS($A$2:$A$4-$I2)));HVIS($J2=$B$2:$B$4;ABS($A$2:$A$4-$I2));0));"")

Husk at du skal indtaste formlen, ved brug af Ctrl+Shift og Enter
Avatar billede Kennyx Praktikant
05. februar 2023 - 20:41 #6
Lader stadigt ikke til at virke helt.

I nedenstående eksempel burde returværdien nederst til højre være trøje og ikke sko. Datoen der er mindre og tættest på d.05-05-2022 er d.01-05-2022 og koden for den kunde og dato er trøje. I stedet returnere den værdien sko.

Salgs dato    KundeNr. Kode              Salgs dato    Kunde Nr RETURVÆRDI
01-05-2022    5555    Trøje            30-04-2022    5555    Sko
03-08-2022    4444    Bukser            05-08-2022    4444    Bukser
27-04-2022    5555    Sko                05-05-2022    5555    Sko
Avatar billede Kennyx Praktikant
05. februar 2023 - 20:44 #7
Det blev lige lidt rodet at se på så poster dataen her:

Datasæt A:
01-05-2022    5555
03-08-2022    4444
27-04-2022    5555

Datasæt B:
30-04-2022    5555    Sko
05-08-2022    4444    Bukser
05-05-2022    5555    Sko

returværdien sko nederst i datasæt B er forkert (datoen som er mindre og tættest på datoen d.05-05-2022 på samme kunde i datasæt A er d.01-05-2022 - så værdien burde være trøje)
Avatar billede Kennyx Praktikant
05. februar 2023 - 20:55 #8
Prøver lige igen - glemte at tilføje produkterne i datasæt a. nu giver det forhåbenlig mere mening

Datasæt A:
01-05-2022    5555    Trøje
03-08-2022    4444    Bukser
27-04-2022    5555    Sko 

Datasæt B:
30-04-2022    5555    Sko
05-08-2022    4444    Bukser
05-05-2022    5555    Sko

returværdien sko nederst i datasæt B er forkert (datoen som er mindre og tættest på datoen d.05-05-2022 på samme kunde i datasæt A er d.01-05-2022 - så værdien burde være trøje)
Avatar billede ebea Ekspert
05. februar 2023 - 21:10 #9
#8 - jeg tror at du roder rundt i en masse data.

Det eks. som jeg uploadede, viser det korrekte, som er Trøje.
Og det nævnte du i #4, at det ikke var korrekt.

For mig, er det noget forvirrende noget, du skriver. Hvorfor ikke blot uploade nogle data, som svarer til virkeligheden, i stedet for tænkte eksempler, som der skal bruges utallige skriverier, frem og tilbage.
Og med upload, mener jeg en fil, som man kan forholde sig til.
Avatar billede Kennyx Praktikant
05. februar 2023 - 22:02 #10
@ebea

Jeg beklager hvis jeg formulere dårligt og jeg sætter stor pris på hjælpen.

Det eksempel du uploadede viste det korrekte resultat - men det var tilfældigt. Hvis man ændre lidt på datoerne kan man se formlen ikke finder den nærmeste mindre dato på samme kunde.

Jeg deler her det dokument du uploadede. Jeg har ændret datoerne. Dem med grøn og rød bør svare til hinanden.

https://docs.google.com/spreadsheets/d/1itCknmH55lT6p-J0wEgc98kyrWTyVR0C/edit?usp=sharing&ouid=116591781221625098122&rtpof=true&sd=true

Grøn finder det rigtige resultat. Men hvis vi ser på d.05-05-2022 som jeg har markeret med rødt - der finder vi ikke det rigtige resultat. Der finder den "trøje" som jo er forkert. Den første dato FØR d.05-05-2022 er d.02-05-2022 og resultatet bør derfor være sko.
Avatar billede ebea Ekspert
05. februar 2023 - 22:36 #11
#10 - Formlen er stadig korrekt nok. Det der er "problemet", er at du bruger det samme kundenummer i eksemplet.
Hvad nu, hvis du har samme kundenummer, på samme dato, hvordan vil du så skulle skille det?
Prøv at se i eks. herunder, hvor jeg har skiftet kundenummeret.

https://www.dropbox.com/scl/fi/j6rzs7pd2zk32rciozxpr/produkt-opslag-1.xlsx?dl=0&rlkey=8ll2n98juwerxta8n9vpdx0bn
Avatar billede Kennyx Praktikant
05. februar 2023 - 23:16 #12
En stor del af udfordringen er netop at kunder oprettes flere gange med mange datoer og skal derfor tildeles det produkt der er solgt tættest på (men før) oprettelses datoen.

En kunde der er solgt 2 gange samme dag vil så opdeles på klokkeslæt i dato feltet - men tænker det er samme løsning så derfor har jeg ikke smidt klokkeslæt med i eksemplet
Avatar billede ebea Ekspert
06. februar 2023 - 09:23 #13
#12 - Upload et datasæt, som svarer til det du har. Ikke det eks. som der er brugt her, og som du senest uploadede i #10. Det er blot det samme som cirkulerer rundt.
Avatar billede Kennyx Praktikant
06. februar 2023 - 12:38 #14
#13  - Den faktiske data er som mit eksempel - bortset fra at den indeholder flere kolonner - men det er med informationer jeg ikke kan dele.

I dit svar #11 havde du også fat i hvad problemstillingen var - nemlig at det svært at formle når man har flere med samme kundenr på forskellige dator og med forskellige produkter.

Hvis du i det eksempel kunne få oprettelsen i d.05-05 til at vise produktet for d.02-05 så var problemet jo løst.
Avatar billede ebea Ekspert
06. februar 2023 - 13:06 #15
#14 - ......"Hvis du i det eksempel kunne få oprettelsen i d.05-05 til at vise produktet for d.02-05 så var problemet jo løst."
Det kan jeg ikke, da eks. ikke er et retvisende eks. på problemstillingen.

At du ikke kan vise det faktiske Ark, lyder lidt mærkeligt, da du blot kan bruge fiktive kunde data, men bruge selve din opstilling, som den ser ud.
Din opstilling er totalt forvirrende, da det du skriver som forklaring, og det du viser, ikke har sammenhæng.

Det er muligt at du kan se det inde i dit hoved, men det kan "vi andre" ikke, da vi ikke ser dine data, men kun det du viser som tænkte eksempler.
Avatar billede Kennyx Praktikant
06. februar 2023 - 14:32 #16
#15 - Den faktiske data har flere hundrede rækker - med mange irrelevante informationer. Det jeg kunne gøre er at fjerne de fleste rækker og fjerne kolonnerne der er irrelevant - men så er vi tilbage til det eksempel jeg lavede.

Hvad er det i det jeg skriver som er forvirrende? Kan du prøve at være konkret ift hvor jeg specifikt skriver noget der ikke giver mening eller er modsigende?

Datasæt A = oversigt over salg (kundenr./dato for salg/produkt)
Datasæt B = oprettelse af kunden (kundenr/dato for oprettelse)

Udfordring:
Vi vil gerne vide hvilke produkter der tilhøre hver entry i datasæt B

Procedure:
Vi taster først informationerne på kunden og salget i datasæt A - og derefter i datasæt B. Det kan godt være vi taster i datasæt B flere dage efter - men det altid i den rækkefølge når vi taler om en specifik kunde. Derfor hvis vi kigger på en entry i datasæt B vil seneste entry på samme kunde i datasæt A ALTID være den entry der skal findes - dvs det vil altid være det produkt fra den entry i datasæt A der tilhøre den specifikke entry i datasæt b.
Avatar billede ebea Ekspert
06. februar 2023 - 14:48 #17
Avatar billede Kennyx Praktikant
06. februar 2023 - 15:24 #18
#17 - Denne formel giver jo de helt rigtige resultater - men jeg forstår ikke helt hvordan den fungere.

Datoen i I2 på kunde 5555 er rigtig nok "før og tættest" på d.06-05-2022
og datoen i I4 på kunde 5555 er rigtig nok "før og tættest" på d.02-05-2022

Men hvis jeg nu ændre datoen i A2 til d.03-05-2022 - så ændre produktet i K2 sig til sko. Hvordan kan det være? Datoen der er umiddelbart "før og tættest" på både d.05-05 og d.07-05 i I2 er jo nu den nye dato d.03-05-2022 som jeg ændrede i A2 - og alligevel returnere den sko som er fra datoen d.02-05.

Håber du vil uddybe :)
Avatar billede ebea Ekspert
06. februar 2023 - 15:56 #19
#18 - jeg hopper af her. Jeg forstår simpelthen ikke logikken i det du skriver, og det du gør. af ændringer.
Avatar billede Kennyx Praktikant
06. februar 2023 - 17:31 #20
#19 - Jeg sætter pris på forsøget :) mange tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester