02. december 2010 - 15:33Der er
11 kommentarer og 1 løsning
SUMIF(?) der skal se i 2 kolonner
(Excel 2003)
Vil tro mit problem skal løses med SUMIF men kan ikke få det til at lykkes, da der er 2 kriterier. Andre løsninger af problemet er også ok, men løsningen skal kunne tastes som en formel i den pågældende celle (her C8) og der må ikke anvendes "mellemstationer" i andre kolonner.
Formlen i Celle C8 skal summere tallene i kolonne C for de linier hvor der både står x (=celle A1) i kolonne A & y (=celle B1) i kolonne B
Dvs. i dette ark skal formlen give 1122
A B C 1 x y 2 3 a y 1 4 x y 11 5 x t 111 6 x y 1111 7 y x 11111 8 =1122 (11+1111)
Hmm... Det virker fint hos mig i både 2003 og 2007. Begge versioner er danske, men hvis du bare skriver sumproduct i stedet for sumprodukt, kan jeg ikke se nogen grund til, at det ikke skulle virke på engelsk.
Kan se der virker på eksemplet - grunden til at det ikke virkede på min "rigtige" fil var, at der i nogle celler i kolonne C står tekst. Der står kun tal i de celler der reelt skal sammentælles, men den kan alligevel ikke anvendes.
Den kan jeg ikke lige gennemskue at løse med sumprodukt. I Excel 2007 kan du bruge sum.hviser, men det går ikke i 2003. Hvis jeg ændrer sidste led i sumproduktet til er.tal(c1:c7), returnerer den sand (1) eller falsk (0) i stedet for værdien, så resultatet af hele produktet bliver 2. Har forsøgt med et par hvis-sætninger, men så får jeg fejl. Lad spørgsmålet stå åbent lidt. Det kan være, at en af superhajerne kan ændre mit forslag, så sidste led i sumproduktet med er.tal(c1:c7) returnerer værdien i stedet for sandt eller falsk.
Synes godt om
Slettet bruger
03. december 2010 - 12:21#6
Hvad med: =SUMPRODUCT(--(A1:A5="x");--(B1:B5="y");C1:C5)
Den virker fint, også med tekst i kolonne C. Hvorfor? Hvad gør '--'?
Laban77: Gi' pointene til Hans. Dem har han fortjent, ikke mindst fordi det er ham, der har lært mig at anvende sumprodukt i den form, som jeg foreslog. ;-)
Det virker - det eneste der irriterer nu er, at jeg ikke helt forstår formlen :o) - hvad betyder det når du skriver -- ? er det en information om, at formlen kun skal sammentælle tal eller?
/Laban
Synes godt om
Slettet bruger
03. december 2010 - 14:18#9
Med: a y 1 x y 11 x t a x y 1111 y x 1111
i A1:C5 og formlen: =SUMPRODUCT(--(A1:A5="x");--(B1:B5="y");C1:C5) i for eksempel C8, prøv følgende:
Væklg celle C8 og marker med musen (i formelfeltet) præcist følgende del af formlen:
(A1:A5="x")og tryk på F9. Du vil se følgende: {FALSE;TRUE;TRUE;TRUE;FALSE}
Prøv nøjagtigt det samme med præcist følgende del af formlen: (B1:B5="y") og tryk på F9. Du ser nu følgende: {TRUE;TRUE;FALSE;TRUE;FALSE}
Prøv herefter samme procedure, men nu med følgende dele af formlen, henholdsvis: --(A1:A5="x") og --(B1:B5="y")
Ved tryk på F9 ved den første ser du: {0;1;1;1;0} og ved den anden: {1;1;0;1;0}
Altså, -- (double unary minus) konverterer booleske værdier (TRUE/FALSE) til 1/0. Det har en vis lighed med matematikkens minus gange minus giver plus.
Af de to arrays oven for, henholdsvis {0;1;1;1;0} og {1;1;0;1;0} danner Excel et enkelt array {0;1;0;1;0} altså 1 i matricens position 2 og 4 (hvor begge betingelser er opfyldte, 0 i de øvrige positioner. Det vil herefter sige at formlen returnerer det der står i 2. og 4. position i matricen C1:C5.
Se herefter på formlen: =SUMPRODUCT((A1:A5="x")*(B1:B5="y")*(C1:C5))
Prøv med musen (i formelfeltet) at markere præcist følgende del af formlen:
((A1:A5="x")*(B1:B5="y")
Tryk på F9 og du vil se: {0;1;0;1;0} altså nøjagtig samme matrice som ovenfor. Der hvor det så går galt, det er når denne matrice ganges med matricen C1:C5, men man kan som bekendt ikke gange et tal med noget tekst (som i C3) og få noget fornuftigt ud af det.
Hans
Synes godt om
Slettet bruger
03. december 2010 - 14:23#10
Et par småfejl: Jeg kom et par steder til at bruge det engelske udtryk "arrays". Erstat det med det danske "matrice. Der var en begyndelsesparentes for meget i udtrykket seks linjer fra neden.
Imponeret! - og mange mange tak for at du også tog dig tid til den lange forklaring!.
Hvis du laver et svar giver jeg dig pointene.
Synes godt om
Slettet bruger
03. december 2010 - 14:51#12
OK Hans
Synes godt om
Ny brugerNybegynder
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.