Avatar billede ole_viller Mester
06. februar 2021 - 11:53 Der er 13 kommentarer og
1 løsning

To formler, der tilsammen lokaliserer værdi i matrix

I et område A1:D4 står der

X  B    C      D
2  100  200  300
3  400  500  600
4  700  800  900

I A6 skriver man et tilfældigt tal, som skal undersøges.

Jeg skal bruge to formler:
#1 skal returnere, hvad der står i første række i den kolonne, hvor det tal, man undersøger befinder sig.
#2 skal returnere, hvad der står i første kolonne i den række, hvor det tal, man undersøger befinder sig.

Altså hvis man undersøger 600 skal formel#1 give "D". Formel#2 skal give "3".


På forhånd tak.

Ole Viller, Randers
Avatar billede ebea Ekspert
06. februar 2021 - 12:48 #1
Du kan bruge følgende. Formlerne skal indtastes ved hjælp af Ctrl+Shift og Enter, så du får en {  } klamme i start og slut af formlen.

=MAKS(HVIS($B$2:$D$4=D1;RÆKKE($B$2:$D$4)))
=MAKS(HVIS($B$2:$D$4=D1;KOLONNE($B$2:$D$4)))
Avatar billede ole_viller Mester
06. februar 2021 - 13:04 #2
1000 tak ebea.
Det virker - dog skal D1 i dine formler lige er stattes med A6, fordi det er i den celle, det tal, der skal undersøges, står.

Tak for hjælpen.

Venlig hilsen
Ole Viller, Randers
Avatar billede ole_viller Mester
06. februar 2021 - 13:07 #3
ebea.

Ikke helt alligevel. Kolonne-værdierne i øverste række bliver desværre ikke fundet.
Avatar billede ebea Ekspert
06. februar 2021 - 13:17 #4
#3 - Jeg har testet den i alle rækker, og det virker med formlerne.
Så prøv at fortælle konkret, hvad der ikke virker!
Avatar billede xl-Enthusiast Ekspert
06. februar 2021 - 13:57 #5
Formel 1: =CHAR(SUMPRODUCT((COLUMN(B1:D1)*(B2:D4=A6)))+64)
Formel 2: =SUMPRODUCT((A2:A4)*(B2:D4=A6))

dansk

Formel 1: =TEGN(SUMPRODUKT((KOLONNE(B1:D1)*(B2:D4=A6)))+64)
Formel 2: =SUMPRODUKT((A2:A4)*(B2:D4=A6))
Avatar billede ole_viller Mester
06. februar 2021 - 14:41 #6
#4 Hej ebea - tak for din tid.

I dine formler har jeg skiftet D1 ud med A6. Begge formler er med CTRL-SHIFT-ENTER.
Problemerne er (når der står 600 i A6)

=MAKS(HVIS($B$2:$D$4=A6;RÆKKE($B$2:$D$4)))  -  denne formel returnerer "3". Det er sådan set rigtig nok. Men jeg tror, den returnerer rækkenummeret IKKE "værdien". Hvis man skifter i A3 skifter 3 ud med "USA", skal formlen returnere "USA", men den returnerer stadig 3

=MAKS(HVIS($B$2:$D$4=A6;KOLONNE($B$2:$D$4)))  -  denne formel returnerer  "4" , fordi 600 står i 4. kolonne. Den burde returnere "D"

Jeg håber, det er til at forstå.

Ole Viller, Randers
Avatar billede ole_viller Mester
06. februar 2021 - 14:53 #7
xl-Enthusiast
Tak for input. Det virker desværre ikke helt

Formel 1: =TEGN(SUMPRODUKT((KOLONNE(B1:D1)*(B2:D4=A6)))+64) Den returnerer altid et stort bogstav. Og hvis man i første række skifter b, c og d ud med "bente", "carla" og "dorte" får man ikke det rigtige resultat.

Formel 2: =SUMPRODUKT((A2:A4)*(B2:D4=A6)) Den virker, men kun hvis der står tal i A2:4 Hvis der står bogstaver, får man #VÆRDI-fejl.

Ole Viller, Randers
Avatar billede ebea Ekspert
06. februar 2021 - 15:05 #8
#7 - I henhold til dit spørgsmål, skriver du  "...Altså hvis man undersøger 600 skal formel#1 give "D". Formel#2 skal give "3".."
Så ud fra det, gik jeg ud fra, at det var række og kolonne nr. du ønskede.

Men det er værdien i henholdsvis række nr. start, og kolonne nr. start; eller?
Avatar billede ole_viller Mester
06. februar 2021 - 15:16 #9
ebea.
Det var også lidt dumt formuleret af mig - det tænkte jeg ikke over.
Jeg ønsker to ting i hver sin formel
1.
værdien (også bogstaver) i første række i den kolonne, hvor det undersøgte tal befinder sig.
2.
værdien (også bogstaver) i første kolonne i den række, hvor det undersøgte tal befinder sig.

Ole viller, Randers
Avatar billede xl-Enthusiast Ekspert
06. februar 2021 - 16:08 #10
Formel 1: =INDEX($A$1:$D$1;SUMPRODUCT((COLUMN($B$1:$D$1)*($B$2:$D$4=$A$6))))

Formel 2: =INDEX($A$2:$A$4;SUMPRODUCT(--($B$2:$D$4=$A$6)*ROW($A$2:$A$4)))

INDEX = INDEKS
SUMPRODUCT = SUMPRODUKT
COLUMN = KOLONNE
ROW = RÆKKE
Avatar billede xl-Enthusiast Ekspert
06. februar 2021 - 16:10 #11
Jeg går ud fra der ikke kan forekomme gengangere af det søgte tal (her 600).
Avatar billede ole_viller Mester
06. februar 2021 - 16:33 #12
Tak xl-Enthusiast
Formel 1 fungerer.

Men det gør formel 2 ikke helt. Formlen finder ikke det, som står i første kolonne i samme række som det undersøgte tal. Den finder det, der står i førtste kolonne i rækken lige under.
Det er selvfølgelig en lille fejl - men jeg er desværre ikke klog nok, til at kunne gennemskue (og dermed rette), hvad er er galt.

Og nej - der er ingen gengangere området med de tal, der skal undersøges.

ole viller, Randers
Avatar billede xl-Enthusiast Ekspert
06. februar 2021 - 16:46 #13
Ret til:

=INDEX($A$1:$A$4;SUMPRODUCT(--($B$2:$D$4=$A$6)*ROW($A$2:$A$4)))
Avatar billede ole_viller Mester
06. februar 2021 - 16:48 #14
xl-Enthusiast
Det dur. 1000 tak for hjælpen.

De allerbedste hilsener
Ole Viller, Randers
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