はじめに
EXCELのセル関数のSUMIFS関数を使って、
複数列でVLOOKUPを実行するようなイメージ
あるいは別の表現では
SQLの LEFT JOIN を実現するようなイメージ
または MATCH + INDEX関数の代替方法
を実現する方法を思いついたので紹介します。
以下の記事の続きです。
先に以下の記事をご覧ください。
上記の記事では、該当の列の属性が文字列の場合は使えないのですが、少し下準備をするだけで文字列の属性の列にも対応させることが出来る方法です。
サンプル
結果
セル関数
・下準備としていずれかの列に(例ではH列) ROW()関数で行番号を表示させる =ROW()
・SUMIFS()関数を使って、該当の行番号を取得する SUMIFS(H:H,E:E,A2,F:F,B2)
の部分
・INDIRECT()関数を使って、該当セルのアドレスの値を取得する =INDIRECT("G" & SUMIFS(H:H,E:E,A2,F:F,B2))
・または INDEX()関数を使って、該当のセルを指定する方法でも可 =INDEX(G:G, SUMIFS(H:H,E:E,A2,F:F,B2), 1)
関連記事