Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
TEXT関数の使い方(表示形式に応じた文字列を返す):Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
TEXT関数の使い方
更新:2025/3/23;作成:2006/2/26
数値は書式設定された文字列に変換されます、その計算結果は数値としては計算に利用できなくなります。
TEXT関数では表示形式を引数に使います。
なお、「セルの表示形式」で表示を変更するとセルの表示が変わるだけで、文字列には変換されません。
表示形式の詳細については↓のページをご覧ください。
数値の表示形式を使って、他の文字列とをつなぐ。
B
C
D
2
15800
合計は ¥ 15,800です
="合計は "&TEXT(B2,"¥ #,##0") &"です"
3
消費税(10%)は1,580円です
="消費税(10%)は"&TEXT(B2*10%,"#,##0") &"円です"
4
2025/4/1
今日は火曜日です
=今日は""&TEXT(B4,"aaaa;;")&"です"
5
1:15
75分経過しました
=TEXT(B5,"[m]")&"分経過しました"
曜日の表示形式
書式記号
入力値
設定例
表示例
説 明
d
2025/4/1
ddd
Tue
曜日が英語の省略形で表示されます。
Sun〜Sat
dddd
Tuesday
曜日が英語で表示されます。
Sunday〜Saturday
a
2025/4/1
aaa
火
曜日の頭文字が表示されます。
日〜土
aaaa
火曜日
曜日が表示されます。
日曜日〜土曜日
時刻の表示形式で使用する書式の一例(詳細は 時刻の表示形式)
書式記号
入力値
設定例
表示例
説 明
[h]
25:30
[h]
25
24時を超える時間を表示します。
[m]
4:10
[m]
250
60分を超える分を表示します。
左の例は4*60+10=250
[s]
1:10:10
[s]
4210
60秒を超える秒を表示します。
左の例は1*60*60+10*60+10
日付のシリアル値から曜日に変換します。
Excel2021以降でSpillが利用できる場合は、C3セルに =TEXT(B3:B9,"aaa" ) と入力します。
Spillが利用できないバージョンでは、C3セルに =TEXT(B3,"aaa" ) と入力して、下方向へ数式をコピーします。
Excel2021以降でSpillが利用できる場合は、C3セルに =TEXT(B3:B9,"aaaa" ) と入力します。
Spillが利用できないバージョンでは、C3セルに =TEXT(B3,"aaaa" ) と入力して、下方向へ数式をコピーします。
西暦から和暦に変換した例です。
和暦へは =TEXT(B3:B7,"ggge年m月d日" ) で変換できます。
また、元年に変換するには =TEXT(B3:B7,"[$-ja-JP-x-gannen]ggge年m月d日" ) とします。
スピルが利用できない場合は
C3セル =TEXT(B3,"ggge年m月d日" )
D3セル =TEXT(B3,"[$-ja-JP-x-gannen]ggge年m月d日" )
と数式を入力して、下方向へコピーします。
年の書式記号
書式記号
入力値
設定例
表示例
説 明
y
2004/7/8
yy
04
西暦の年を下2桁表示します。
00〜99が表示できます。
yyyy
2004
西暦の年を4桁で表示します。
1900〜9999が表示できます。
g
2004/7/8
ge
H16
元号のアルファベット1文字が表示されます。
M,T,S,Hが表示できます。
gge
平16
元号の1文字が表示されます。
明,大,昭,平
ggge
平成16
元号が表示できます。
明治,大正,昭和,平成
e
1994/7/8
ggge
平成6
元号の年が1桁表示になります。
gggee
平成06
元号の年が2桁表示になります。
r
1994/7/8
r
06
「ee」と同じです。
rr
平成06
「gggee」と同じです。
時刻のシリアル値から"分"を計算するには、下図のように =B3:B5*24*60 となります。
TEXT関数を使うと、 =TEXT(B3:B5,"[m]")*1 として"分"を取り出すことができます。
TEXT関数では文字列が返されますので、数値に変換するために*1 と乗算をすると Excelが数値に変換してくれます。関数を使うなら =VALUE( TEXT(B3:B5,"[m]") ) とします。
スピルが利用できない場合は
E3セル =B3*24*60
C3セル =TEXT(B3,"[m]")*1
D3セル =VALUE( TEXT(B3,"[m]") )
と数式を入力して、下方向へコピーします。
文章中の数式はC3セルに入力して、下方向へ数式をコピーします。(スピルが利用できない場合)
図中の数式はスピルが利用できる場合の数式です。
表示形式 "0000!/00!/00" を利用します。
=TEXT(B3,"0000!/00!/00") と日付の表示形式の文字列に変換 できます(C列)。
日付の文字列をシリアル値に変換するには =TEXT(B3,"0000!/00!/00")*1 と演算をすることでExcelが日付として扱い、シリアル値に変換ができます(C列)。
あとは表示形式を適切なものにすれば完成です。
ここの例では表示形式を [日付]の 「2012/3/12」としています。
セルの書式設定のショートカットキーは [Ctrl]+[1] です。
セルの表示形式が標準であれば、
C3セルに =TEXT(B3,"0!:00")*1 と入力して、下方向へコピーします。
時刻のシリアル値が表示されます。
セルの表示形式を適切なものに設定します。
下図では[時刻]の「13:30」に設定しました。
セルの書式設定のショートカットキーは [Ctrl]+[1] です。
D3セルは =B3*C3 と入力して、下方向へコピーします。
=TEXT(B3*C3,"0" ):表示形式で「0(ゼロ)」とすることで、四捨五入された整数値になります。
E3セルは =TEXT(B3*C3,"0")*1 :TEXT関数では文字列になるので、「*1」で数値にします。
(E列は四捨五入されていることを示すために表示桁数を増やして表示しています)
指数の表示形式 を利用して三桁で表示するようにします。
すると、四桁目が四捨五入された値が得られます。
C2セルには =TEXT(B2,"0.00E+0" )*1 と入力しています。
ここの部分を2025/3/23に再度、操作してみたところ以下のような結果が見られなくなっていました。
何らかの計算精度の修正が行われた模様です。
よって、取り消し線を入れておくことにします。
ここの表はオートフィルで時刻を入力すると、誤差を生じてしまう例を示しています。
ここでは、=FLOOR(TEXT(B2-A2,"h:mm")*1 ,"0:30") とTEXT関数を使って、誤差防止ができるというのを示しています。
A列の時刻:A2に「9:00」と入力し、A63までコピーしています。
B列の時刻:B2に「17:00」、B3に「17:01」と入力し、B1:B2を選択後、フィルハンドルをダブルクリックしてオートフィルで連続値を入力します。
C:D列の計算値:C2は「=FLOOR(B2-A2,"0:30")」 D2は「=FLOOR(TEXT(B2-A2,"h:mm")*1,"0:30")」と入力して、C63:D63までコピーします。
B列の値が17:30と18:00で「B2-A2」の計算に違いが生じているのがわかります。
C32セルは8:00と計算されているが、F32セルの手入力した値で計算すると 8:30 となります。
C62セルは8:30と計算されているが、F62セルの手入力した値で計算すると 9:00 となります。
フィル機能で連続値を入力した際にB列の値「17:30」と「18:00」は、手入力した値と比べると異なっているのが判ります。
このような微小な値を、TEXT関数を使って表示形式(h:mm)で丸める(四捨五入する)ことができます。
表示形式でローケールIDを使うことで、どこの国の言語に合わせるかを指定することができます。 下図では2行目と11行目に入力してある日付から各国の言語で曜日を表示しています。
A列に言語名を書いています。B列が使用したロケールIDです。
C3セルの数式は =TEXT(C$2,"["&$B3&"]aaaa") として、B列のロケールIDを使っています。
下図のC12セルの数式は =TEXT(C$11,"["&$B12&"]aaaa") として、B列のロケールIDを使っています。
ロケールIDの一覧はMSDNにありますので参照してください。
ロケール ID (LCID) の一覧
https://msdn.microsoft.com/ja-jp/library/cc392381.aspx
上記のID一覧表の下3ケタを $- の後ろにつけて使います。
数値が1桁や数値だけではないケースがあったりします。
ドイツ語(ルクセンブルグ)のロケールIDは 0x1007 ですので、表示形式では $-7 となります。
中国語(香港)のロケールIDは 0x0C04 ですので、表示形式では $-C04 となります。
Excel2019、Microsoft365では表示形式で1年を元年と表示できるようになりました 。
よって、C2セルの数式は =TEXT(B2, "[$-ja-JP-x-gannen]ggge年m月d日" ) とします。
スピルが利用できるので、
=IF(B2:B20="","",TEXT(B2:B20,"[$-ja-JP-x-gannen]ggge年m月d日"))
としてもOKです。
Excel2019やMicrosoft365より前のバージョンのExcelを利用している場合は以下のようにします。
TEXT関数を使って「大正元年」「昭和元年」「平成元年」「令和元年」を表示する方法です。
C2セルの数式は
=IF(B2="","",TEXT(B2,"ggg")& IF(TEXT(B2,"e")="1","元年",TEXT(B2,"e年")) &TEXT(B2,"m月d日") )
と入力して、下方向へ数式をコピーします。
年月日をそれぞれ変換して結合しています。
元号はTEXT(B2,"ggg")
元年または○年はIF(TEXT(B2,"e")="1","元年",TEXT(B2,"e年"))
月日はTEXT(B2,"m月d日")
スポンサードリンク
Home »
エクセル関数一覧表 » TEXT関数の使い方(表示形式に応じた文字列を返す)
PageViewCounter
Since2006/2/27