【EXCEL】単位を表示させたい
・EXCELを使っていると1つのセルの中に単位付きの数値を入力したい場面にたまに遭遇する。
・例えば、「100円」と一つのセルに入力すると、文字列として認識され、数式で金額を計算することができなくなる(下図)。
・これを解決するには、100と円を別のセルに入力し、100の入っているセルのみを対象として数式を入力すれば良い。すぐ思いつく範囲で、以下のように表記できる(下図)。個人的には真ん中が好みだが、用途によって変わる。
・敢えて一つのセルに単位まで入れ込んだ上で、数式を使えるようにする方法があるので、メモしておく。
・「セルの書式設定」から、ユーザー定義で、好きな単位を表示させることができる。この場合、セルの中身は100と数字で入力されており、表示は100円となっている。セルの中身が数字なので、関数で計算できる(下図)。
・現実的に、192837円といわれると、ぱっと幾らか分かりづらい。通貨単位は特に、3桁ごとにカンマで区切られていることが多く、その方が桁を読み取りやすい(192,837円と表示されていれば、19万円であるとぱっと見で分かる)。
・3桁区切りで表示したい場合、#,##0で数字を定義し、お好みの単位("円"など)を入力すれば良い(下図)。
・では、#,###0"円"と入力すると4桁区切りになるのかと思ったが、案外そうでもなく、同じように192,837,465円と表示された。
・この","は千の位、"0"は数値、"#"はワイルドカードを表しているっぽい(本当にそうかは知らないので、信じるかどうかは自己責任で)。#の数には関係なく、","が10^3単位を表しているのかもしれない。
・では、#,##0,"円"と入力するとどのように表示されるか?
・なるほど、192,837,465円の1,000の位以降が表示された。
・ということは、#,##0,"千円"とする方が正しそうだ。
・同様に、百万円単位であれば、#,##0,,"百万円"とすると良いと思われる。
終わり。
【EXCEL】「条件付き書式」の背景色を固定したい
・情報を視覚化するのに、「条件付き書式」という機能がある。
・セルの中の数値をもとに、書式を変更する機能であり、非常に便利。
・ただ、何らかの理由で書式はそのままに、セルの中の数値だけ弄りたい場面が、私の場合しばしばある。
・例えば、何らかの変数をもとにヒートマップを作成し、ヒートマップ上の異なる変数における分布を確認する場面など。
・関数だとどうしようもないので、マクロで背景色だけ抜き出せるようにした。
Sub 色写し()
Dim Cl, totNr, cNr As Long
totNr = Selection.Count
cNr = 1
Do While cNr < totNr + 1
Cl = Selection(cNr).DisplayFormat.Interior.Color
ActiveSheet.Range(Selection(cNr).Address).Interior.Color = Cl
cNr = cNr + 1
Loop
End Sub
・使い方は、条件付き書式で背景に色がついたセルを選択し、マクロを起動するだけ。
・そうすると、背景色として条件付き書式の背景が適用される。
・条件付き書式を解除しても、背景色はそのまま残る。
・セルの色を使うのではなく、DisplayFormatの色を使って色情報を抜き出すところがポイント。
・動作不良、その他不利益に関して、当方は一切補償しない。
終わり。
【EXCEL】読み取り専用で開いて欲しい
・開いたEXCEL Bookを読み取り専用にしたい場合は、ツールバーに「読み取り専用に切り替える」ボタンを作れば良い。
・一つのファイルをいろいろな人が使う場合、そのように対応してくれない人が必ず出てくるので、「読み取り専用で開きなさいよ」又は「パスを入れない限り編集できませんよ」という仕様にしたくなる。
・ファイルの仕様を変更するのは簡単で、名前を付けて保存を選択し、「ツール」「全般オプション」(下図)から、
ファイルの共有設定をする(下図)。
・制限をかけたければパスワードをかければ良いし、それほどではなく「読み取り専用で開いてね!」とアラートを出したいだけならパスワード欄を空欄にしてチェックボックスにレ点を入れれば良い。
・いろいろな人が見るようなファイル(予算情報など)に便利。
終わり。