はじめに
TEXT関数は指定された値や文字列を、指定された形式の文字列に変換する関数です。
セルの値を特定の形式で表示するには、セルの書式設定の表示形式という機能があり、表示形式とTEXT関数の違いについても説明します!
といいますのも「値の見た目を思い通りにしたい!」というのであれば表示形式を設定すれば済む話でTEXT関数の出番は無いんです。
もちろん、今回もExcel関数の擬人化キャラクターを交えて説明しますので、お付き合い頂けますと幸いです!
エクセル関数擬人化 TEXTちゃん
登場人物紹介
キュウです。
経理初心者、エクセルは学校で少し触ったことがある程度です。
早く知識を身に着けて役に立てるようになりたいです!
シノです。
簿記の資格を持っていて、経理歴数年程度です。
経理業務をやっている内に、エクセルに夢中になってしまいました!
シノさん、ちょっとExcelで個人的に教えてほしいことが!
個人的に??
自分で使うカレンダーを作っているのですが、月曜と木曜の欄にゴミの日を表示したいんです!
なるほど、そういう事情ですか。
では、こんなときに大活躍する関数ちゃんを紹介しますね!
待ってましたっ!!
私はTEXT、あなたのご希望の形式で値を書き直します。
形式で値を書き直す…??
たとえば、日付が入力されているセルを参照して、様々な形式に変えることができます。
次の図の例では、参照しているセルにはすべておなじ日付のシリアル値が入力されていますが、異なる形式でさまざまな形に書き換えています。
<例で使用している数式>
=TEXT(B4,"yyyy年m月d日")
=TEXT(B5,"yyyy年mm月dd日")
=TEXT(B6,"ge年mm月dd日")
=TEXT(B7,"gge年mm月dd日")
=TEXT(B8,"ggge年mm月dd日")
=TEXT(B9,"yyyy年mm月dd日(aaa)")
=TEXT(B10,"yyyy年mm月dd日(aaaa)")
すべて元となる値は同じで、形式が異なるんですね!
日付のシリアル値の形式を変えると元号が出てきたり、曜日が出てきたりと少し戸惑うかもしれないですね。
日付と元号や曜日は1対1の対応関係にあるので、表現のしかた、形式の違いの範囲なのです。
新しい情報を付け加えるわけではない、ということですね!
そうです、わたしはあくまで表現…形式を変えるだけです。
ということは、日付を私が欲しい曜日に変える形式を指定すれば…!?
日付を曜日に変換できますね!
TEXTちゃんに”aaa”という形式を指定して書き直してもらいましょう!
“aaa”ってなんですか~!?
とりあえず今は「おまじない」でいいんです!
<例で使用している数式>
=TEXT(B4,"aaa")
土…っと。 書けました。これでどうでしょうか。
バッチリです!
あとは曜日によって文字を表示させたいから…
私の出番ですね。
のわっ!?いつからそこに!?
(さすが忍者…)
月曜日「か」木曜日と言っていたので、私も必要ですよね?
『もし曜日が月曜日か木曜日なら「ゴミの日」と返す、そうでなければ空白。』
これを数式にしてみましょう!
<例で使用している数式>
=TEXT(B4,"aaa")
=IF(OR(C4="月",C4="木"),"ゴミの日","")
でっ、できました~!!
(パチパチパチ…)
参考に別解も紹介しておきますね。
<例で使用している数式>
=WEEKDAY(B4)
=IF(OR(C4=2,C4=5),"ゴミの日","")
この方法にはTEXTちゃんは出てこないんですね。
エクセルには形式に関する機能「表示形式」が用意されていて、この方法ではそれを使っています。
詳しく教えて欲しいです!
それでは、まずは曜日の列について。
WEEKDAY関数は、日付に対応する曜日を数字で返す関数です。
画像の例では1が日曜日、2が火曜日…という対応になっています。
数字を返すのに曜日が表示されて見えるということは…ここが表示形式なんですね?
はい、表示形式に”aaa”を設定することで、数字の2が入ったセルを「月」と表示しています。
備考の列を見て下さい。 TEXTちゃんで形式を変えたときと数式の様子が違うのがわかりますか?
条件式が「曜日の列が、もし2か5なら…」という式になっています。
さっきは「曜日の列が、”月”か”木”なら…」だったのに…!
そこが大きな違いになります。
おなじ「月」と見えるセルですが、セルの値はTEXTちゃんが書き直すと「”月”」、表示形式だと「2」になっているんです!
その違いにはどんな意味があるんですか??
IF関数の数式を見てみましょう。
「曜日の列が、もし2か5なら…」と「曜日の列が、”月”か”木”なら…」では、どちらが読みやすいですか?
そういうことですか!
TEXTちゃんが書き直してくれた方が、ひと目で曜日が分かって読みやすいですね!
(ちょっとうれしい…)
このように、表示形式もTEXTちゃんも、形式に関係する動きをしますが、値を変化させるかどうかに違いがあります。
形式のルールにちょっと暗記要素があって難しそうですけど、使いこなせると色々とできそうですね!
暗記しなくても、丁寧に解説してくれているサイトを見れば大丈夫です。
私はいつもこのページを参考にしています!
引数の形式に”(ダブルクォーテーション)を忘れないようにしてくださいね。
決められたルール通りでないと、形式のことだと分かりませんので。
うっかり忘れないように気をつけます!
ゴミ捨ても”(ダブルクォーテーション)も忘れずにね。
表示形式とTEXTちゃんの違いについてもっと言いたい
表示形式とTEXTちゃんの違いについて、もう少し事例を見てみましょう。
これは曜日を含む形式で表示された日付から、RIGHTちゃんで曜日を取り出そうとしてるんですね。
はい。
ですが、見ての通り異なる結果になっています。
見に行ったら数字しか無くて…。
日付の元のシリアル値(数値)の右から5文字を取ってしまったんですね。
他にもこんな例があります。
綺麗に桁区切りしたのに、SUMちゃんは数字ではないから足せないと言います。
TEXTちゃんが書くのは文字列だから、計算してもらえないわけです。
SUMちゃんは数字にしか興味がない…?
風評被害ですっ!
この場合は表示形式が良いのですね。
あとは表示形式はセルの書式設定なので、値が入っているセル自体に形式を適用できますが、TEXTちゃんは参照するので別のセルになる違いもありますね。
お手本は必要ですからね。
あっ、第1引数はお手本だったんですね。
まとめ
TEXTちゃんについて解説しようとすると、表示形式を使わずにTEXTちゃんを使うほうが良いケース、TEXTちゃんではないとできないケースについて紹介したくなりました。
その最たるものが日付からの曜日だと思った次第ですが…もっと良い例があれば教えて欲しいです。
TEXTちゃんは引数として受け取った値を、指定の形式で書き直すことから書道のイメージでデザインしました。
髪の毛のおさげ部分はダブルクォーテーションをモチーフにしています。
引数で形式を指定する際は、ダブルクォーテーションでくくることを忘れないようにしましょう。
本当に色んな場面で活躍できる関数ちゃんなので、今後のTips解説記事でも登場するかもしれません!
コメント