【Excel】長い数式をAlt+Enterで改行する方法|入れ子のIFを読みやすく整理

【Excel】長い数式をAlt+Enterで改行する方法|入れ子のIFを読みやすく整理
🛡️ 超解決

IFの中にIFを重ねた数式は、関数の切れ目で改行すると、条件と戻り値を追いやすくなります。Windows版Excelでは、数式バーを編集中にAlt+Enterで改行し、Ctrl+Shift+Uで数式バーの表示領域を広げられます。

ただし、読みやすくする操作と計算内容を変える操作は分けて行います。スペースはどこでも無視されるわけではなく、参照の間では演算子になります。引用符で囲んだ文字の中へ改行を入れると、返す文字列そのものも変わります。

ADVERTISEMENT

数式を整える前に、元の式と結果を残す

まず作業用コピーを用意し、修正するセルの式を数式バーで確認します。表示されている結果だけでなく、正常・境界・未入力の場合に何を返すかも控えます。見た目だけを直すなら、作業前後でこれらの結果は同じになるはずです。

例として、B2に申請金額があり、10万円以上は部長、1万円以上は課長、それ未満は担当が確認する、という架空の承認ルールを使います。

=IF(B2>=100000,"部長",IF(B2>=10000,"課長","担当"))

10万円と1万円はこの説明用の基準で、どの会社にも共通する承認金額ではありません。実際の台帳では社内規程の条件を使います。ここでは条件を変えずに、二つのIFの関係を見やすくします。

※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

数式バーを広げ、引数の切れ目で改行する

  1. 対象セルを選び、数式バーをクリックして編集します。
  2. Ctrl+Shift+Uを押すか、数式バーの下端をドラッグして広げます。
  3. 外側のIFの二つ目のカンマの直後へカーソルを置きます。
  4. Alt+Enterを押し、内側のIFを次の行へ送ります。外側の最後の閉じ括弧の前でもAlt+Enterを押すと、下の3行の形になります。
  5. 括弧や引用符を消していないか確認してEnterで確定します。
=IF(B2>=100000,"部長",
  IF(B2>=10000,"課長","担当")
)

行頭の空白は内側の式を見分けるために使います。すべてのカンマの後で改行すると短い式まで縦に長くなるので、まずは関数が入れ子になる箇所だけを分けると扱いやすくなります。改行はセルに返す結果の改行ではなく、数式自体の書き方を整えるものです。

字下げと条件の順序を対応させる

この例は最初に10万円以上かを判定し、当てはまらない場合だけ内側のIFへ進みます。したがって「課長」の範囲は1万円以上10万円未満です。単に二つの条件が別々に書かれているのではなく、外側で条件を絞った後に次を調べています。

申請額10万円以上は部長、未満の場合に1万円以上かを判定して課長と担当へ分ける入れ子の分岐
外側の条件に当てはまらない場合だけ、内側のIFへ進みます。金額は説明用の例です。

条件の順序を逆にして最初に1万円以上と書くと、10万円もその条件を満たし、部長の分岐へ進めなくなります。改行した際に式を移動したくなっても、読みやすさの調整と条件順序の変更は同時にしない方が結果を比較しやすくなります。

閉じ括弧も対応づけます。上の例は内側のIFを2行目の末尾で閉じ、外側のIFを3行目で閉じています。最後の括弧だけを数えるより、「この行はどの関数の続きか」を確認した方が、条件を追加したときの閉じ忘れを探せます。

引数を見失ったら、カンマで区切られた「条件」「当てはまる場合」「当てはまらない場合」を外側から読みます。内側のIF全体が、外側の三つ目の引数です。内側にあるカンマまで外側の区切りとして数えると混乱するため、先に括弧の内外を確認してください。

スペースと引用符の中をむやみに変えない

Excelでは参照間のスペースが共通部分を指定する演算子になることがあります。たとえば=SUM(A1:A3 B2:B4)は二つの範囲を足す指定ではなく、交差部分を指定しようとします。この例では交差がないため#NULL!の原因になります。二つの範囲の合計なら、カンマなど本来必要な区切りを使います。

また"確認 待ち"の空白は表示する文章の一部です。引用符内でAlt+Enterを入れると、その文字列に改行が入ります。セル番地の途中、関数名の途中、数値の桁の途中、名前の中を区切ることも避けてください。

半角カンマを全角カンマに置き換えたり、引用符を装飾的な記号に変えたりすると、入力を受け付けなくなることがあります。整形では、引数を区切るカンマの後など、式の構造が分かる位置だけを選びます。

改行後に入力エラーが出た場合は、まだ確定していなければEscで元の式に戻します。そのうえで1か所だけ改行し、結果が変わらないかを確認してから次へ進みます。自動修正の候補をそのまま採用すると、括弧の位置など計算の構造まで変わることがあるため、変更点を読まずに確定しないでください。

長すぎる式は、改行よりも分割を検討する

数式バーを広げても全体を追えない場合、入力の検査、分類、金額計算が一つのセルへ集まりすぎている可能性があります。補助列で「入力済みか」「区分は何か」を先に出すと、どこで意図と違う結果になったかを確認しやすくなります。

例の承認先も、基準額が頻繁に変わるなら別の設定表に金額を置き、式から参照する設計にできます。担当者が変更するのが数式の文字列ではなく、確認しやすい基準表になるためです。ただし参照の固定方法と表の管理権限は別途決める必要があります。

LETなどの関数を使える環境なら途中の計算に名前を付ける方法もありますが、共有相手のExcelが対応しているかを先に確認します。読みやすくするための改修で、相手の環境では計算できなくなるのは避けたいところです。

結果の確認と、改行入り数式の受け渡し

前述の式は、9,999なら担当、10,000なら課長、99,999なら課長、100,000なら部長になるかを確かめます。上限と下限の前後を試すことで、比較記号の変更や条件の入れ替わりを見つけやすくなります。この式単独では未入力を「入力待ち」に分けていないので、運用表では未入力時の扱いも別に決めてください。

記事やメモから複数行の数式を貼る場合は、セルを選んだだけの状態ではなく、数式バーを編集している状態で貼り付けます。シートへ通常の表データとして貼ると、改行で別の行へ分かれてしまう場合があります。受け渡し先が対応しづらければ1行版も併記します。

数式へ説明を残したいときは、近くのセルやメモに目的を書けば十分です。+N("説明")を末尾へ足す方法は数値結果が前提で、文字を返す今回のIFへそのまま追加すると適切ではありません。説明のために式の型を変えないようにします。

別のPCへ渡すときは、その人が数式バーを開けば全文を読めることも確認します。セルに「担当」とだけ表示されていても、改行した数式の構造はセルの表示には出ません。条件そのものを共有する必要がある場合は、数式とは別に承認ルールを表にする方が読み手を選びません。

改行は計算を変えずに読みやすくするために使う

数式バーを広げ、関数の切れ目で改行し、閉じ括弧を対応づける。この順で整えると長い式を読み直しやすくなります。整形後は、元の式と同じ入力で同じ結果になるかを確認し、見た目が整ったことだけで完了にしません。

MicrosoftのExcelのキーボードショートカット、関数の入れ子、演算子の仕様も確認できます。Windows版以外ではキーや画面構成が異なるため、使用している版の案内を選んでください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】