[EXCEL] 「条件付き書式」の「書式」で「配置」が選べないエクセルの謎仕様 Copilotに聞いたら樹海入り。でも解決策はある!
▶ 目次 > 作表
作表の基本もまだ掲載できていませんが、こんな表の作り方を書きました(掲載は後日)。

本年と前年の比較値(本年/前年)をパーセント表示するというものですが、本年・前年のいずれかが「0」だと計算できません。
*本年が0だと答えはエラーに、前年が0だと答えは0に。
その場合、お役所では「皆増・皆減」(かいぞう・かいげん)を使います(統計業務ではよく使うみたい)。
その数式を説明する記事です。
数式自体は難しくありませんが、セルに文字データ(文字列)つまり「皆増・皆減」が入る場合は中央寄せにしたいものです。
数値と同じく右寄せだと、ちょっとカッコ悪い。ですよね?
普通の表でも「数値は右寄せ・文字列は左寄せ」は自動でなるけれど、「数値は右寄せ・文字列は中央寄せ」は自動ではできません。
データを見ながらセル毎に直すのは手間だし間違いのもと。
自動でなんとかしたいものです。

なので、
・数式の結果が数値なら右寄せ(基本通り)
・結果が「文字データ」(文字列)なら中央寄せ
としたいのですが・・・
「条件付き書式」では「配置」が出ない!
セルの中味が数値か否かは以下で判定できます。
=isnumber(対象セル)
*大文字・小文字問わず(⇒確定後は大文字になる)
*対象セルが(is)、数値(number)か調べる関数
セルの中味が数値なら TURE、そうでなければ FALSE になります。

逆に、セルの中味が文字データならTRUE、そうでなければ FALSE にも表示させることも出来ます。上の数式をNOTで囲めばいいのです。
=not(isnumber(対象セル))

なので、この条件を使って「条件付き書式」で設定すれば楽勝、と思ったのですが・・・
普通の「セルの書式」には「配置」があります。

中央寄せなら、「配置」⇒「横位置」⇒「中央寄せ」でOK。
カンタン、カンタン。
と思ったら、、、
「条件付き書式」からの「書式」には・・・

拡大すると・・・

そう、「配置」がないんです。
おもわず「なんじゃ、こりゃー」(by ジーパン)と叫びたくなります。
*リアルタイムで見てはいないんですけど。
Copilotに聞いてみたら樹海入り
分からないことはCopilotに聞いてみます。
しかし、なんかチンプンカンプン。
全体を中央寄せにして、数値のときだけ(上の数式で判断)、「配置」を右寄せにするとか(当然できない)

全体にインデントを掛ける、とか。

こう断言していたのに、ちょっと突っ込んだら・・・

あっさり、前言撤回です。
解決方法は「VBAのみ」といわれたので、「VBAは使いたくない」と返したら・・・

また同じ提案です。
これ、ダメでしょ。
これを指摘すると、堂々巡り。樹海から抜け出せません。
結局、こんな答え。

「工夫って何?」と聞くと・・・

なんてこったい・・・、です。
要は数値の長さ次第でセルの幅を変えるというもの。
まぁ、パーセント表示なら桁数は定まるけど
こんな感じ?

ていうか、これ↑↑↑、既に数値は右寄せになっていない?
「セルの書式設定」で見てみると・・・

拡大

セルの「横位置」は「中央寄せ」になっているけれど、数値は右寄せになっている。
これでいいんじゃん?
だとしたら、何グルグルまわっていたんだろう・・・(溜息)
でも、普通のデータを中央寄せにすると、文字データ(文字列)だけでなく数値も中央寄せになってしまう・・・

やっぱりダメ?
どうしたものだろう。
結論
Copilotはあてにならない(今回の質問については)
解決策はある
実はこれ、解決策あります。
なんとか見つけました。
詳細は後日。
興味のある方は、フォローをどうぞ。
「皆増・皆減」を表示する数式も後日掲載します。
