このニュースを見たことがありますか?
朝日新聞デジタル:「エクセル任せで点検不十分」 マイナス収支で「△三角」と誤入力
つまりは、マイナス金額の部分を表示形式で△で表記(#,##0;"△ "#,##0)していたのではなく、文字列として△と数値を入力していたので、SUM関数等の合計から漏れてしまったいた、ということです。
どうしても単位や負の記号をつけたいときは、Excelでは表示形式で表示上のみで単位や記号をつけないと、合計等の関数で集計をすることができません。
私も他の人が入力したExcelで、この単位直接打たれる罠に引っかかったことがあります。
何度かそういった経験があるので、基本的には他人を信じず、単位(千円、百万円)等もセットで表示されているセルは、マクロで文字列になっていないかチェックします。
コード
Sub sb選択範囲中の文字列を蛍光緑色に色付け()
'用途:数式や数値が入っていると思われる範囲を選択し、文字列部分になっている箇所を探す。
'※表示形式で単位(例:千万円)をつけているのに、手入力で単位を入力してしまい文字列となり合計欄の集計から漏れる、
'といった事象が発生した際に効率よく文字列セルを発見するためで利用する。
Dim myCell As Range
Dim selectedRange As Range
' 選択範囲を Set する
Set selectedRange = Selection
' 選択された各セルを確認する
For Each myCell In selectedRange
' セル内容が文字列の場合
If Application.WorksheetFunction.IsText(myCell.Value) Then
' セルの背景色を蛍光緑色に設定
myCell.Interior.Color = RGB(0, 255, 0)
End If
Next myCell
End Sub
使い方は、単位等が入力されている複数のセルを範囲選択して、マクロを実行します。
文字列となっているセルは、セルの色を蛍光緑色にします。
単位等を表示形式で表示するようにしている場合で、複数人で入力するExcelは、入力者が表示形式の設定に気づかず、単位も含めて手入力されてしまうことがあります。
そのため、自分がそのExcelの作成者であるなら、単位は表示形式で各セルに表記するのではなく、シートの右上等に『(単位:千円)』等と表記し、表示形式では単位表示をしない方がベターでしょう。
この記事も根本的には、同じ思想(人間を信じていない)でコードを作成しました。
【Qiita】Excelで小数点を含むセルをチェックするマクロ