Excel vzorec: Součet textových hodnot, jako jsou čísla -

Obsah

souhrn

Chcete-li přeložit textové hodnoty na čísla a sečíst výsledek, můžete použít vzorec INDEX a MATCH a funkci SUMA. V zobrazeném příkladu je vzorec v H5:

(=SUM(INDEX(value,N(IF(1,MATCH(C5:G5,code,0))))))

kde „kód“ je pojmenovaný rozsah K5: K9 a „hodnota“ je pojmenovaný rozsah L5: L9.

Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

Srdcem tohoto vzorce je základní vzorec INDEX a MATCH, který se používá k překladu textových hodnot do čísel definovaných ve vyhledávací tabulce. Například k překladu výrazu „EX“ na odpovídající číslo použijeme:

=INDEX(value,MATCH("EX",code,0))

který by se vrátil 4.

Zvrat v tomto problému však spočívá v tom, že chceme přeložit a sečíst rozsah textových hodnot ve sloupcích C až G na čísla. To znamená, že musíme poskytnout více než jednu vyhledávací hodnotu a potřebujeme INDEX, abychom vrátili více než jeden výsledek. Standardní přístup je vzorec jako tento:

=SUM(INDEX(value,MATCH(C5:G5,code,0)))

Po spuštění MATCH máme pole s 5 položkami:

=SUM(INDEX(value,(2,2,3,2,5)))

Zdá se tedy, že INDEX by měl SUMU vrátit 5 výsledků. Pokud to však zkusíte, funkce INDEX vrátí pouze jeden součet výsledků. Chcete-li, aby INDEX vrátil více výsledků, musíme použít poměrně nejasný trik a zabalit MATCH do N a IF takto:

N(IF(1,MATCH(C5:G5,code,0)))

To účinně donutí INDEX poskytnout funkci SUM více než jednu hodnotu. Po spuštění INDEXu máme:

=SUM((3,3,2,3,-1))

A funkce SUM vrací součet položek v poli, 10. Chcete-li o tomto chování dobře psát, přečtěte si tento zajímavý článek na webu EXCELXOR.

Zajímavé články...