Excelを学び始めたときや前任者から引き継いだ Excelブックの中に難解な数式があったとき、その数式の処理内容を知りたいと考えますね。
幸運にも近くに教えてくれる人がいれば教えを乞うのが良いでしょう。
でも、自分で解かなくてはいけないとき、ひとつの方法として生成AI「ChatGPT」に解説してもらうこともご検討ください。

一例を示します。
Excel 都道府県名がない住所で都道府県名を知る」記事でご紹介した次の数式について ChatGPTに訊いてみました。
  =IF(OR(RIGHT(H2)="都",RIGHT(H2)="道",RIGHT(H2)="府",RIGHT(H2)="県"),H2,INDEX(郵便番号!$A$2:$D$124666,MATCH(I5&"*",郵便番号!$C$2:$C$124666,0),2))

ChatGPTを開いて、プロンプトにこの数式と「この数式の動作を日本語で解説してください」と入力しました。
すると、以下の回答が返ってきました。(下図)

 

念のため、コピペして再掲しておきます:

-----(ここから)-----

この数式は次のように動作します:

 1. 'RIGHT(H2)': セル H2 の文字列の右端1文字を取得します。

 2. 'OR(RIGHT(H2)="都",RIGHT(H2)="道",RIGHT(H2)="府",RIGHT(H2)="県")': 取得した1文字が「都」、「道」、「府」または「県」のいずれかと一致するかどうかをチェックします。

 3. 'IF(条件, 条件が真の場合の値, 条件が偽の場合の値)': 条件が真の場合には H2 の値を返し、条件が偽の場合には次の処理を実行します。

  ・ 'MATCH(I5&"*", 郵便番号!$C$2:$C$124666, 0)': シート「郵便番号」の範囲 '$C$2:$C$124666' の中から、セル I5 の値に続く任意の文字列と一致する最初のセルの位置を検索します(ワイルドカード "*" を使用)。
  ・ 'INDEX(郵便番号!$A$2:$D$124666, 行番号, 2)': 'MATCH' 関数で見つかった行番号を使って、範囲 '$A$2:$D$124666' の2列目から値を取得します。

この数式を要約すると:

・H2 の右端1文字が「都」、「道」、「府」または「県」の場合、そのまま H2 の値を返します。
・それ以外の場合、シート「郵便番号」の範囲 '$C$2:$C$124666' で I5 の値に続く文字列と一致するものを探し、その行の2列目の値を返します。

具体的な使用例として、H2 に「東京都」と入力されている場合、そのまま「東京都」が返されます。一方、H2 に「東京都」以外の値が入力されている場合(例えば「新宿区」など)、シート「郵便番号」から I5 の値に基づいて該当する値を検索し、その結果を返します。

-----(ここまで)-----

もうひとつ、例示してみます。

前回の「Excel LET関数」記事で出てきた次の数式を先ほどと同様に ChatGPTのプロンプトに入力してみます:
  =IFS(AND(IFS(B3>=1000,"A",B3>=800,"B",TRUE,"C")="A",IFS(C3>=1000,"A",C3>=800,"B",TRUE,"C")="A"),"◎",OR(IFS(B3>=1000,"A",B3>=800,"B",TRUE,"C")="A",IFS(C3>=1000,"A",C3>=800,"B",TRUE,"C")="A"),"〇",TRUE,"")

得られた回答が以下のようになります。(下図)

 

-----(ここから)-----

この数式は次のように動作します:

 1. 'IFS(B3>=1000,"A",B3>=800,"B",TRUE,"C")':

  ・ 'B3' が 1000 以上の場合は "A" を返します。
  ・ 'B3' が 800 以上の場合は "B" を返します。
  ・ 上記以外の場合は "C" を返します。

 2. 'IFS(C3>=1000,"A",C3>=800,"B",TRUE,"C")':

  ・ 'C3' が 1000 以上の場合は "A" を返します。
  ・ 'C3' が 800 以上の場合は "B" を返します。
  ・ 上記以外の場合は "C" を返します。

 3. 'AND(条件1, 条件2)':

  ・ '条件1' と '条件2' の両方が真の場合に真を返します。
  ・ '条件1': 'IFS(B3>=1000,"A",B3>=800,"B",TRUE,"C")="A"' (B3 が 1000 以上で "A" であるかどうか)
  ・ '条件2': 'IFS(C3>=1000,"A",C3>=800,"B",TRUE,"C")="A"' (C3 が 1000 以上で "A" であるかどうか)

 4. 'OR(条件1, 条件2)':

  ・ '条件1' または '条件2' のいずれかが真の場合に真を返します。
  ・ '条件1': 'IFS(B3>=1000,"A",B3>=800,"B",TRUE,"C")="A"' (B3 が 1000 以上で "A" であるかどうか)
  ・ '条件2': 'IFS(C3>=1000,"A",C3>=800,"B",TRUE,"C")="A"' (C3 が 1000 以上で "A" であるかどうか)

 5. 'IFS'関数の構造:

  ・ 'IFS(AND(条件1, 条件2), "◎", OR(条件1, 条件2), "〇", TRUE, "")'

この数式をまとめると:

・ もし 'B3' と 'C3' が両方とも 1000 以上で "A" の場合、結果は "◎" になります。
・ もし 'B3' または 'C3' のいずれかが 1000 以上で "A" の場合、結果は "〇" になります。
・ それ以外の場合は空の文字列 ("") が返されます。

この数式は 'B3' および 'C3' の値に基づいて条件に一致する記号を返すためのもので、複数の条件に基づいて評価を行う際に使用されます。

-----(ここまで)-----

さて、ここでは 2つの数式についてその処理内容を解説してもらいました。
これらの回答を単に読むだけでなく、実際のブックを開き、数式中の該当部分を数式バーの中でクリックすると参照しているセル範囲が色分けされて表示されるので、より理解が進むと思います。
(編集モードから抜けるには [Esc]キーを押してください。)

さらに、回答の中で不明な点があれば、それを示して質問することもできます。