[Excel] 複雑に入れ子になった関数の式を解読する方法

他人が作ったExcelファイルで、IFやVLOOKUPなどの関数が入れ子(ネスト)になっていて、複雑すぎて解読不能になるときがあります。

実際に私が見た例で、以下のような数式がありました。


=IF(R2="","",IF(J2="ABC",IF(VLOOKUP(D2,sheet1!$A:$G,6,0)="",VLOOKUP(VLOOKUP(D2,sheet1!$A:$I,7,0)-2,sheet1!$G:$I,3,0),VLOOKUP(VLOOKUP(D2,sheet1!$A:$G,6,0)-2,sheet1!$G:$I,3,0)),IF(R2="","",VLOOKUP(VLOOKUP(U2,sheet1!$A:$G,6,0)-2,sheet1!$G:$I,3,0))))


そんなときはあわてずに。

関数をメモ帳に貼り付けて、縦に展開してみましょう。

改行やスペースをつけると、不思議と解読できるようになります。


セルS2に入っていた関数の数式を展開


=IF(
  R2="",
  "",
  IF(
      J2="ABC",
      IF(
          VLOOKUP(D2,sheet1!$A:$G,6,0)="",
          VLOOKUP(
              VLOOKUP(D2,sheet1!$A:$I,7,0)-2,
              sheet1!$G:$I,
              3,
              0
          ),
          VLOOKUP(
              VLOOKUP(D2,sheet1!$A:$G,6,0)-2,
              sheet1!$G:$I,
              3,
              0
          )
      ),
      IF(
          R2="",
          "",
          VLOOKUP(
              VLOOKUP(U2,sheet1!$A:$G,6,0)-2,
              sheet1!$G:$I,
              3,
              0
          )
      )
  )
)

IFやVLOOKUPが入れ子になっているときに効果的抜群です。

あとは、時間さえかければ解読できますね。

以上、ワンポイントテクニックでした。

カテゴリ: