Spreadsheet- text-Eyecatch

広告

スプレッドシート・TEXT関数の使い方|日付から曜日を自動取得できるよ!

2017年8月30日

表計算ソフトでカレンダーを作成する際、TEXT関数を使うと日付から曜日を取得することが出来ます。

text-hiduke-youbi-shutoku
TEXT関数なら日付から曜日を取得できる

また、TEXT関数は

  • Excel
  • スプレッドシート

どちらでも使える関数です。

しかし、スプレッドシートでTEXT関数を使う際、表示形式の指定がExcelとは異なるんですね。

あひる
あひる
ていうか表示形式ってなに?
ううこ
ううこ
数値の表示方法を指定して強制的に「曜日や小数点」等に変更できる形式のことだ。

実際に業務でExcelを使っている僕は、同様の手口をスプレッドシートで行ってつまづきました...

そこで今回はスプレッドシート・TEXT関数の使い方表示形式を理解して曜日を取得するについてご説明させていただきます。

スプレッドシーでのTEXT関数の使い方をマスターしよう!

TEXT関数の使い方の定義はスプレッドシートでもExcelでも基本的には同じです。

Excel・TEXT関数の概要

TEXT 関数を使用すると、表示形式コードを使用して数値に書式設定を適用することで、数値の表示方法を変更することができます。

=TEXT(書式設定する値, "適用する表示形式コード")

引用元:https://support.office.com

スプレッドシート・TEXT関数の概要

指定した表示形式に従って、数値をテキストに変換します。

=TEXT(数値, "表示形式")

引用元:https://support.google.com

どちらともほぼ同様な使い方も相違はありません。

でも表示形式の指定方法が異なります。

Excel・スプレッドシート間でTEXT関数の指定方法が異なる

例えばTEXT関数は、Excelで以下のように

=text(B2,"aaa")

指定すると、曜日を取得することが出来ます。

Excel-text-hyouji
Excelならテキスト関数を表示できる

ところがスプレッドシートで同じ形式を「=text(B2,"aaa")」と入力すると...・

Spreadsheet-hyouji-kotonaru
スプレッドシートだと表示形式が異なる

「aaa」と表示されるだけなんですね。

OYAKUN
OYAKUN
最初、なんで表示が違うのか分からなくて焦りました。

これは「Excelとスプレッドシートでの表示形式の違い」を、正しく理解しておく必要があります。

TEXT関数|Excel・スプレッドシートでの表示の違い

そこで、同じTEXT関数の数式でExcelとスプレッドシート間で結果にどれだけ違いがあるのか、試して一覧にしてみました。

数式 Excel結果 スプレッドシート結果
=TEXT(1234.567,"$#,##0.00") $1,234.57 $1,234.57
=TEXT(TODAY(),"MM/DD/YY") 08/30/17 08/30/17
=TEXT(TODAY(),"aaa") aaa
=TEXT(TODAY(),"DDDD") Wednesday 水曜日
=TEXT(NOW(),"H:MM AM/PM") 6:36 AM 6:37 午前
=TEXT(0.285,"0.0%") 28.5% 28.5%
=TEXT(4.34,"# ?/?") 4 1/3 4 1/3
=TRIM(TEXT(0.34,"# ?/?")) 1/3 1/3
=TEXT(12200000,"0.00E+00") 1.22E+07 1.22E+07
=TEXT(1234567898,"[<=9999999]###-####;(###) ###-####")
(123) 456-7898 (123) 456-7898
=TEXT(1234,"0000000") 0001234 0001234
=TEXT(123456,"##0° 00' 00''") 12° 34' 56'' 12° 34' 56''
あひる
あひる
え?殆ど違いないじゃん...

このTEXT関数の数式一覧からだと、曜日の表示形式だけが違うことが分かりました。

GoogleスプレッドシートでTEXT関数を使って曜日表示するには"aaa"と記入する

  • Excelだと=text(セル,"aaa")は曜日(一文字)
  • スプレッドシートだと=text(セル,"aaa")はaaa

スプレッドシートでTEXT関数にて「曜日」を取得する場合、表示形式"aaa"はNGということです\(^o^)/

まとめ. スプレッドシートでのTEXT関数の表示形式を正しく理解して、曜日を自動取得しよう!

というわけでスプレッドシートでのTEXT関数の使い方、主にExcelとの表示形式の違いについてご理解いただけたでしょうか?

簡単にまとめると

  • スプレッドシートのTEXT関数で曜日取得
    ="aaa"だとそのまま表示されちゃう
  • ="DDDD"で表示してあげよう

ということです。

基本的には「Excelとスプレッドシートを同時進行で」業務遂行する事は少ないとは思いますが、たまにこうした違いがあるので戸惑いますよね。

またExcelとスプレッドシートの共通する関数で、使い方の違いを見つけたら記事にします!