【Excel】数式のカッコが合わないときの直し方と入力のコツ

【Excel】数式のカッコが合わないときの直し方と入力のコツ
🛡️ 超解決

数式を確定すると「この数式には問題があります」と表示され、どのカッコを直せばよいか分からない。関数を重ねた式では、末尾のカッコを増減するだけでは解決しないことがあります。開くカッコと閉じるカッコの対応に加え、どこまでが一つの関数の引数なのかを確認します。

ここではWindows版Excelを例に、短い式から組み立てる方法、色や入力支援の使い方、修正後の確認まで説明します。既存の集計表を直す場合は、元の式が残るようにブックを別名保存するか、空いた確認用セルで試してから置き換えてください。

ADVERTISEMENT

1. カッコの数だけでなく対応する範囲を見る

関数は=SUM(B2:D2)のように、関数名の後のカッコで引数を囲みます。複数の関数を組み合わせたときは、内側で開いたカッコから先に閉じます。例えば次の式にはIFとROUNDの二組があります。

=IF(A2="","",ROUND(B2*C2,0))

最初のカッコはIFの三つの引数全体を囲み、最後のカッコで閉じます。ROUNDの直後に開いたカッコは、B2*C2と桁数0を囲んで閉じます。末尾の二つの閉じカッコは、左からROUND用、IF用です。

IF(A2が空か、空文字、ROUND(B2*C2,0))の外側のカッコと内側のカッコを別の線で接続。末尾はROUND、IFの順に閉じる。
内側のROUNDを先に閉じ、その後で外側のIFを閉じます。

この式はA2が空欄なら空文字列を返し、空欄でなければB2とC2の積を整数に四捨五入します。カッコの総数が合っていても、閉じる位置を早めれば引数のまとまりが変わります。単に「開く数と閉じる数が同じだから正しい」と判断せず、関数ごとに囲む部分を読みます。

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

2. 長い式は内側の計算から組み立てる

例ではA2に商品名、B2に120.5、C2に3を入れ、D2を計算結果の場所にします。まずD2へ=B2*C2を入力し、361.5になることを確認します。次に=ROUND(B2*C2,0)へ変え、362になるかを見ます。

そこまで動いたら、外側へIFを追加します。A2が空でないときは362、A2を空欄にしたときは空欄になることを確認します。最初から完成形を一度に書くより、どの変更でエラーが出たかを追いやすくなります。

ROUNDの構造を先に=ROUND(,0)のように用意し、空いた位置へ計算式を入れる考え方も役立ちます。ただし、引数が空の途中の式を完成形として確定しないようにします。入力中に別セルをクリックすると参照が挿入されるため、文字のカーソルをどこへ置いているかも確認してください。

式がさらに複雑なら、途中計算を別列へ分けます。積、丸め、表示条件を別々のセルで確認できれば、入力ミスだけでなく計算の意味も追えます。動く式を残したまま段階的にまとめ、完成してから不要な確認用列を整理します。

3. 数式バーと対応表示を補助に使う

対象セルを選んでF2を押すか、数式バー内をクリックすると編集できます。長い式は数式バーを広げて読みます。Windows版ではCtrl+Shift+Uで展開と折りたたみを切り替えられます。セルの幅を極端に広げなくても式全体を見られます。

編集時に対応するカッコが強調されたり、入れ子に応じて色が付いたりする表示を、組の確認に使います。ただし「最後が黒なら正解」「赤は必ずIF」といった固定の規則で判断しません。色は入力支援であり、参照先や引数の意味まで正しいと保証するものではありません。

末尾から見る場合は、最も内側の関数を一組ずつたどります。例ならROUNDの開きと閉じを先に見て、残りがIFを囲んでいるか確認します。カッコをまとめて削除してから適当に足すと、動いていた部分まで壊す原因になります。

Excelが修正候補を提示しても、無条件に承認せず変更箇所を読みます。候補は構文を成立させる助けになりますが、自分が計算したい順序と一致しているかは別です。意図しない修正ならキャンセルし、元の式を確認します。

4. 引用符と区切り記号の誤りを分けて直す

日本語入力で全角の「(」「)」が入っていたら、数式の構造には半角の(と)を使います。二重引用符も半角の"を使います。文章用の曲がった引用符を貼り付けると、文字列の区切りとして認識されない場合があります。

一方、二重引用符の中に書いたカッコは表示する文字です。例えば=IF(A2="","要確認(未入力)",A2)の「要確認(未入力)」に含まれるカッコは、関数の入れ子を作りません。文字列内まで同じように数えると、必要のない修正をしてしまいます。

引数を区切る記号も確認します。この記事の式はカンマを使っていますが、地域設定によってはセミコロンを使う環境があります。別の環境からコピーした式が入らない場合は、そのExcelで表示される関数の入力案内や、既存の動く式と比べます。

カンマが足りないと、カッコが合っていても引数の数が違うエラーになります。IFは条件、真の場合、偽の場合という位置関係を確認し、ROUNDは数値と桁数を確認します。式の中に120,500のような桁区切り付き数値を書かず、120500と入力することも大切です。

5. 関数の引数画面で入力する

引数の位置に迷ったら、数式バーの[fx]やShift+F3から[関数の挿入]を使います。目的の関数を選ぶと、引数を項目ごとに入力できます。ROUNDなら数値にB2*C2、桁数に0を指定し、結果を見ながら組み立てられます。

式の中で関数名のすぐ右に挿入位置がある状態なら、Ctrl+Aで[関数の引数]を開く方法もあります。どこでもCtrl+Aが同じ働きをするわけではなく、通常のセル選択時には範囲選択になります。思った画面が出ないときは連打せず、[fx]から操作します。

引数画面はカッコや区切り記号の入力負担を減らしますが、参照範囲や条件を正しくする機能ではありません。B2を指定すべき場所でB3を選べば、画面から作っても別の値を計算します。確定後に数式バーと結果を両方確認してください。

既存の式へ関数を重ねる場合は、今どの関数の引数を編集しているかを見ます。IFの真の場合と偽の場合を逆に入れると、構文上は成立しても動作が逆になります。例なら「A2が空なら空欄、そうでなければ丸める」という文章と照らし合わせます。

6. 空白の整理と修正の取り消しに注意する

読みやすさのための空白が使える箇所はありますが、数式中の空白はすべて無意味ではありません。参照の間のスペースは共通部分を指定する演算子になることがあり、引用符内の空白は表示する文字の一部です。エラー修正として空白を一括削除しないでください。

例えば商品名の文字列に含まれる空白を消すと、検索や比較の条件自体が変わります。不要と思う文字があれば、一つずつ位置と役割を確認します。入力規則に合わない全角記号を直す作業と、データとして意味のある文字を削除する作業を分けます。

編集中の変更を捨てるにはEscを使います。Enterで確定した直後の変更なら[元に戻す]で戻せます。数式の一部分を評価する操作を使った場合は、その結果を式の中へ確定させないよう注意し、確認だけなら編集をキャンセルします。元の式が分からなくなったときは、保存しておいたコピーと比較します。

7. 入力できた後も計算結果を確かめる

カッコが合うことと、期待する計算ができることは別です。例では商品名あり・B2が120.5・C2が3で362、商品名なしで空欄、数量0で0になることを試します。確認のために変えたセルは元へ戻し、他の行へコピーしたときの参照先も点検します。

式が受け付けられた後に#DIV/0!、#VALUE!、#REF!が出る場合は、0による除算、入力値の型、壊れた参照などを調べます。カッコだけを直し続けても改善しません。式が文字として表示される場合は、先頭のアポストロフィやセルの文字列書式、[数式の表示]の状態を分けて確認します。

修正は内側の計算から、小さく確かめながら進めるのが基本です。最後に完成式を見て、各カッコがどの関数を閉じるか、各引数が何を意味するかを説明できれば、同じ式を後から変更するときも迷いにくくなります。

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

超解決 Excel・Word研究班

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

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