Formuła programu Excel: sumuj wartości tekstowe, takie jak liczby -

Spisie treści

Podsumowanie

Aby przetłumaczyć wartości tekstowe na liczby i zsumować wynik, możesz użyć formuły INDEKS i PODAJ.POZYCJĘ oraz funkcji SUMA. W pokazanym przykładzie formuła w H5 to:

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

gdzie „kod” to nazwany zakres K5: K9, a „wartość” to nazwany zakres L5: L9.

Uwaga: to jest formuła tablicowa i należy ją wprowadzić za pomocą Ctrl + Shift + Enter.

Wyjaśnienie

Sercem tej formuły jest podstawowa formuła INDEKS i PODAJ.POZYCJĘ, używana do tłumaczenia wartości tekstowych na liczby zdefiniowane w tabeli przeglądowej. Na przykład, aby przetłumaczyć „EX” na odpowiedni numer, użylibyśmy:

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

co zwróci 4.

Skrętem tego problemu jest jednak to, że chcemy przetłumaczyć i zsumować zakres wartości tekstowych w kolumnach od C do G na liczby. Oznacza to, że musimy podać więcej niż jedną wartość wyszukiwania i potrzebujemy INDEKSU, aby zwrócić więcej niż jeden wynik. Standardowe podejście to następująca formuła:

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

Po uruchomieniu MATCH mamy tablicę zawierającą 5 elementów:

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

Wygląda więc na to, że INDEKS powinien zwrócić 5 wyników do SUMA. Jeśli jednak spróbujesz tego, funkcja INDEKS zwróci tylko jeden wynik SUMA. Aby INDEX zwracał wiele wyników, musimy użyć raczej mało znanej sztuczki i zawinąć MATCH w N i IF w ten sposób:

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

To skutecznie zmusza INDEKS do podania więcej niż jednej wartości funkcji SUMA. Po uruchomieniu INDEX mamy:

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

Funkcja SUMA zwraca sumę elementów w tablicy, 10. Aby dobrze opisać to zachowanie, zobacz ten interesujący artykuł w witrynie EXCELXOR.

Interesujące artykuły...