2009年9月19日土曜日

Excelのindex関数とmatch関数の使用方法

=IF(SUBTOTAL(3,範囲)=COUNTA(範囲),"",INDEX(範囲,MATCH(1,$範囲セル横に1をたてた範囲,0)))

thanks to: http://blog.texnos.net/?eid=26712

こんなに便利な使い方があったのを知った収穫として記しておく。(毎回使う物でないので備忘録としても)
使用方法は、エクセルで リストのオートフィルタで選択した縦と横の項目に合致するデータの抽出です。
IF文を使用することによって、合致したデータが参照しているか否かの確かめ算ができます。
SUBTOTALの"3"は、COUNTA関数と同じ機能を指すので、IF文で引数が合致しない場合は空白を返すことになります。
プルダウンのリストにしておけば何かの早見表に活用することができます。

=IF(SUBTOTAL(3,範囲)=COUNTA(範囲),"",INDEX(範囲,MATCH(1,$範囲セル横に1をたてた範囲,0)))

thanks to: http://blog.texnos.net/?eid=26712