11/22/2018

Excel。CONCATENATE関数や&で結合すると表示形式が消えちゃう!【Display format】

Excel。CONCATENATE関数や&で結合すると表示形式が消えちゃう!

<YEN関数・TEXT関数・FIXED関数>

Excelのクセのために、色々と困ることがありますが、
今回は、表示形式とセルの結合についての対応方法を確認しておきましょう。

次の表があります。

どんな表なのかを説明すると、
E3に販売金額が入力されています。

そして、桁区切りスタイルが設定されていますので、
三桁区切りの”,”が設定されています。

F3には、消費税8%として、数式が設定しています。
=E3*8%

そして、桁区切りスタイルが設定されています。

G3には、販売金額と消費税の合算した結果が表示されていて、
=SUM(E3:F3)
という数式が設定されており、通貨スタイルが設定しています。

そして、C2に、請求額として、
請求額(消費税)というスタイルで表示したいわけです。

このような場合は、セルの結合をすればいいわけですから、
C2には、
=G3&"(内消費税"&F3&"円)"
という数式を設定すればいいはずです。

&(アンパサンド)でセルの結合を行うことができます。

ところが、
16200(内消費税1200円)
と数値に設定してあった、
桁区切りスタイルがなくなった状態で表示されてしまいました。

これは、Excelの特徴というか、
クセというか、&(アンパサンド)で結合すると、
表示形式が外れてしまうようになっているのです。

なお、セルを結合するには、CONCATENATE関数や、
office365のExcel2016から登場した、
CONCAT関数を使った場合でも、同じように、表示形式は外れてしまいます。

では、どのようにしたらいいのでしょうか?

【表示形式を付けてから結合する】

表示形式が外れてしまうので、考え方として、
表示形式を付けてあげてから結合をするようにすれば、
この問題は解決することができます。

そこで登場するのが主に次の3つの関数です。
FIXED関数
この関数は、数値に桁区切りスタイルを付けることができる関数なので、
単純に桁区切りスタイルを付けたい場合には、この関数を使います。

YEN関数
通貨スタイル。¥(円マーク)を付けたい場合には、
このYEN関数を使うことで対応することができます。

TEXT関数
表示形式ではおなじみの関数ですね。
桁区切りスタイルは、FIXED関数でなくても、
このTEXT関数でも問題はありませんので、
TEXT関数だけ覚えておくのでもOKですね。

では、
¥16,200(内消費税1,200円)
と表示されているC3の数式を確認してみましょう。

=YEN(G3,0)&"(内消費税"&TEXT(F3,"#,##0")&"円)"

販売金額には、YEN関数を使うことで、
通貨スタイルを設定することができます。

消費税には、FIXED関数でもOKですが、TEXT関数だと、
TEXT(F3,"#,##0")
とすることで、桁区切りスタイルで、
数値を表示することができるようになります。

このように、表示形式が設定されているセルを結合する場合、
表示形式が外れてしまいますので、対応が必要となりますので、
表示形式を付けてから結合すると覚えておくといいでしょう。