見出し画像

[Excel]ファイルを引き継いだら ④ 計算式が入っているセルを自動で色付けする

[Excel]ファイルを引き継いだらやること シリーズその④

【まとめ】

・計算式が入っているセルは、「セルの書式設定」で自動で色付けする。
・その際には、ISFORMULA関数を使う。



【説明】

前記事で「ファイルを引き継いだらやること ③修正したセルを目立たせる(自動で色を付ける)」を書きましたが、今回からは修正しようとするファイル(シート)の構造(計算式)を理解する方法です。


例えばこんな表。

こんな単純な表、実務では使わないよ、と自分でも思いますが、それはさておき。

この表には、文字(「A4白黒」などの項目名)の他、「数値」と「計算式」が入っています。
「数値」とは、手入力されたもの。素のデータ、とも言えます。
「計算式」とは、そのとおり、表の中(あるいは別シート・別ファイル)の数値を使って計算しているもの。

ファイルを修正する際、「数値」が入っているセルに、新たな「数値」を手入力するのは問題ありません(それが普通)。

しかし「計算式」が入っているセルに「数値」を入力すると「計算式」が消えてしまいます(上書きされる)。


オフィスでは「計算式、潰しちゃった!」なんていう小さな叫び声(?)をよく聞きます(Ctrl + Z で大抵は戻りますけど)。


そうならないためには、どのセルに計算式が入っているか、を把握する必要があります。
とはいえ、セルを一つ一つ見ていくのは面倒というかムダ。
ここは当然、計算式が入っているセルを自動で色付けしましょう(本当は、様式作成者にやっといてほしいところです)。


やり方は簡単。1シート3分掛からない位。

上の簡単な表で説明します。


「セルの書式設定」の方法

① 表またはセルを全選択
*表内で Ctrl + A  の同時押しで表の全選択
*シートの左上(列番号Aの左、行番号1の上)を選択するとシートの全選択

上の図では、
行番号1の上をクリックして
シート全体を選択しています

②「条件付き書式」の「新しい書式ルール」ウィンドウを開く
Alt ⇒ H ⇒ L ⇒ N の順番押しで下図が開く

③ 「数式を使用して、書式設定する」を選択

④「次の書式を満たす場合に値を書式設定」の下の欄に =isformula(a1)  と入力(小文字でいい)

「=isformula(a1)」がグレーになっているのは
わざと目立たせるためです。

⑤ 右下の「書式」をクリックして「セルの書式設定」を開き、「塗りつぶし」から好きな色を選択(ここでは薄い水色を選択)

⑥「OK」を2回押下(ウィンドウが消える)

⑦ 計算式が入っているセルに色がつく
(新たに計算式を入れたセルにも色が付く)


以上です。
これで、計算式が入っているセルに自動で色が付きました。
計算式が入っているセルに数値を手入力するミスは減ることでしょう。
*ファイルを配布して入力してもらうなら、「水色セルは手入力不可」といった注意書きが必要でしょう。

*間違って色付きセルに入力してしまうこともありえるので、本当はセルの保護をした方がいいんですが、それはいずれ。

ISFORMULA関数とは

途中で入力した「isformula」は
「判断対象のセル」is(が) formula (式)かを判断する関数です。
「式」であるなら、TURE(そのとおり)というこで、書式設定のとおりになります。
シート全部を選択したうえで「=isformula(a1)」と「a1」を相対参照(「$」なし)にしていることで、全てのセルが対象になります(表全体の範囲指定なら表内のみ)。
最初に範囲選択しておくことで、セルの書式設定をコピーする必要がなくなります。
*1セルだけを上の方法で条件付き書式で自動色付けの設定にして、他のセルに「書式」のみコピーするやり方もありますが、コピー元の罫線なども反映されてしまうので、おすすめしません。


ISFORMULAの打ち間違いを防ぐ方法

この「ISFORMULA」ですが、私はよく間違えます。
「ISFORMULA」を
「ISFORMURA」とか(L⇒R)。
普通のセルなら「=ISF」と打てば関数候補が出てきます。

でも、条件付き書式の欄には出てこないんですよね。
なので、打ち間違い多発。
先に普通のセルで計算式を作っておいて、それを条件付き書式の欄にコピペすると打ち間違いが防げます。


計算式が入っているセルに自動で色付けする方法は以上です。

(おまけ)数値だと思っていたら、計算式が入っていることは意外と多い


正直以下の表なら、どこに計算式が入っているか、簡単です。

でも・・・
もし、「単価」が手入力でなかったら、どうしましょう。

この表では単価は手入力ですが


「単価」は別の「単価表」から持ってきている、なんてこともよくあります。

こちらの表では計算式になっています


どのデータを参照しているかというと・・・

XLOOKUP関数に限らず、
列全体を範囲指定するのが
楽でミスも減ります(詳細はいずれ)

XLOOKUP関数で単価を自動で表示しています。(XLOOKUP関数については、いずれ。使いづらい VLOOKUP/HLOOKUP関数はもう不要です。)


上の例では、分かりやすいように「単価表」を同じシートに記載しましたが、通常は別シートにあるのが普通です。
そのため、この集計表の単価が「単価表」から来ていると分からず、手入力してしまうと・・・
「単価表」の単価を直しても、集計表に反映されないというミスが生じます。

上は極めて単純な例なので、実際にそんなことは起きないと思いますが、実務では複雑な表が多いので、「数値を手入力するセル」と「数値を手入力してはいけないセル(計算式が入っているセル)」の区別は、明確かつ自動でわかるようにしておきたいものです(先述のとおり、本来は様式作成者が設定しておくべきです。)。


以上、参考になれば幸いです。

(作業1日 2H)




いいなと思ったら応援しよう!