こんにちは。
先日、Excelを受講中の生徒様からこんな質問をいただきまし
「
ここでいう「コメント」とは、
確かに、数式バーを見れば説明が一体化して表示されるため、
しかし、どんな数式にも使えるわけではありません。
うまくいく場合とエラーになる場合がある理由を、
【N関数は「コメント用」ではなく「数値変換用」】
まず大前提として、N関数はコメントを表示するための関数ではあ
引数を数値に変換するための関数で、
- 日付 → シリアル値
- TRUE → 1
- FALSE → 0
- 文字列 → 常に 0
に変換するという仕様です。
たとえば
=N("コメント")
と入力すると、表示される結果は 0 になります。
つまり、
=SUM(A1:A10)+N("A列の合計")
と書くと、数式バーには「A列の合計」という説明が残りますが、
=SUM(A1:A10)+0
と計算しているのと同じです。
この仕組みが「コメントを埋め込める裏技」
面白い使い方ですよね。
【エラーになるのは「結果が数値ではない式」に足し算しているから】
この裏技が使えるのは、数式の結果が数値で返る場合だけです。
例えば次の式を見てみましょう。
=IF(C4="はい","○","×")+N("コメント")
このIF関数は、結果として「○」または「×」
そこに +0(N関数の結果) を足そうとするため、
「○+0」や「✕+0」という計算をしていることになり、計算が成立せず #VALUE! エラーになります。
スピルで複数の値を返す式でも同様で、
- 数値のセル → 問題なし
- 文字列のセル → エラー
という混在状態になります。
【文字列を返す式にコメントを付けたい場合】
結果が文字列の場合は、
T関数は、引数が文字列の時のみ文字列を返す関数で、文字列でなければ空文字列を返します。
&T (N("コメント"))
とすれば、文字列として結合されるためエラーにはなりません。
ただし、この方法は数値の結果も文字列に変換してしまうため、 数値と文字列が混在するスピル配列には適しません。
【スピル配列で数値と文字列が混在する場合】
この場合は、LET関数でコメント用の変数を定義する方法しかあ
Excel標準の「メモ(旧コメント)」
特に社内共有ファイルや引き継ぎ資料では、 特殊なテクニックよりも標準機能を使う方が安全で確実です。
【まとめ】
+N("コメント") は便利な裏技ですが、万能ではありません。
- 数値が返る数式 → +N("コメント") が使える
- 文字列が返る数式 → &T (N("コメント"))
- 数値と文字列が混在するスピル配列 → LET関数で対応するしかない
- 一般的な用途 → メモ(旧コメント)が最もおすすめ
数式内にコメントを書く方法は、
ただし、用途に応じて適切に使い分けることが大切です。
普段は、誰でも理解できる Excel標準のメモ機能 を活用するのが、 最もシンプルで安全な方法と言えるでしょう。
裏技を使うときは、
