Excel formülü: Sayılar gibi metin değerlerini toplama -

İçindekiler

Özet

Metin değerlerini sayılara çevirmek ve sonucu toplamak için bir İNDİS ve KAÇINCI formülü ve TOPLA işlevini kullanabilirsiniz. Gösterilen örnekte, H5'teki formül şöyledir:

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

burada "kod", K5: K9 olarak adlandırılan aralıktır ve "değer", L5: L9 adlı adlandırılmış aralıktır.

Not: Bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.

Açıklama

Bu formülün kalbi, metin değerlerini bir arama tablosunda tanımlandığı gibi sayılara çevirmek için kullanılan temel bir INDEX ve MATCH formülüdür. Örneğin, "EX" kelimesini karşılık gelen sayıya çevirmek için şunu kullanırız:

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

hangi 4 döndürecektir.

Bununla birlikte, bu problemdeki bükülme, C ila G sütunlarındaki bir dizi metin değerini sayılara çevirmek ve toplamak istememizdir. Bu, birden fazla arama değeri sağlamamız gerektiği ve birden fazla sonuç döndürmek için INDEX'e ihtiyacımız olduğu anlamına gelir. Standart yaklaşım şöyle bir formüldür:

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

MATCH çalıştıktan sonra, 5 öğeli bir dizimiz var:

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

Görünüşe göre INDEX'in 5 sonucu SUM'a döndürmesi gerekiyor. Ancak, bunu denerseniz, INDEX işlevi yalnızca bir sonuç TOPLAMI döndürecektir. INDEX'in birden fazla sonuç döndürmesini sağlamak için oldukça belirsiz bir numara kullanmalı ve MATCH'u N ve IF harflerine şu şekilde sarmalıyız:

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

Bu, INDEX'i SUM işlevine birden fazla değer sağlamaya etkili bir şekilde zorlar. INDEX çalıştıktan sonra elimizde:

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

Ve TOPLA işlevi dizideki öğelerin toplamını döndürür, 10 Bu davranış hakkında iyi bir yazı için EXCELXOR web sitesindeki bu ilginç makaleye bakın.

Ilginç makaleler...