Excel-formel: 3D SUMIF för flera kalkylblad -

Innehållsförteckning

Generisk formel

=SUMPRODUCT(SUMIF(INDIRECT("'"&sheets&"'!"&"rng"),criteria,INDIRECT("'"&sheets&"'!"&"sumrng")))

Sammanfattning

För att villkorligt summera identiska intervall som finns i separata kalkylblad, allt i en formel, kan du använda SUMIF-funktionen med INDIRECT, insvept i SUMPRODUCT. I exemplet som visas är formeln i C9:

=SUMPRODUCT(SUMIF(INDIRECT("'"&sheets&"'!"&"D4:D5"),B9,INDIRECT("'"&sheets&"'!"&"E4:E5")))

Förklaring

Uppgifterna på vart och ett av de tre arken som bearbetas ser ut så här:

Observera först och främst att du inte kan använda SUMIF med en "normal" 3D-referens så här:

Sheet1:Sheet3!D4:D5

Detta är standard "3D-syntax" men om du försöker använda den med SUMIF får du ett #VALUE-fel. Så, för att lösa detta problem kan du använda ett namngivet intervall "ark" som listar varje ark (kalkylblad) som du vill inkludera. För att bygga referenser som Excel tolkar korrekt måste vi dock sammanfoga arknamnen till de områden vi behöver arbeta med och sedan använda INDIRECT för att få Excel att känna igen dem korrekt.

Eftersom det namngivna området "ark" innehåller flera värden (dvs det är en matris) är resultatet av SUMIF i detta fall också en matris (kallas ibland en "resulterande matris). Så, vi använder SUMPRODUCT för att hantera det, eftersom SUMPRODUCT har förmågan att hantera matriser inbyggt utan att kräva Ctrl-Shift-Enter, som många andra matrisformler.

En annan väg

Exemplet ovan är något komplicerat. Ett annat sätt att hantera detta problem är att göra en "lokal" villkorlig summa på varje ark och sedan använda en vanlig 3D-summa för att lägga till varje värde på sammanfattningsfliken.

För att göra detta, lägg till en SUMIF-formel för varje arkblad som använder en kriteriecell på sammanfattningsarket. När du sedan ändrar kriterierna uppdateras alla länkade SUMIF-formler.

Bra länkar

Herr Excel-diskussion

Intressanta artiklar...