[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が入れ子になっているときに効果的抜群です。

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

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

トラックバック(0)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/168

コメントする

人気記事

このブログ記事について

ひとつ前の記事:「[JavaScript][PHP][Perl] 配列を初期化するときの、最後のカンマの扱いについて

次の記事:「[WSH] CDトレイを開いて閉じる

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事