• ベストアンサー

エクセルについて

A1セルに 『2009/02/28』 と表記してあり B1セルには 『=A1』とし 書式設定の表示形式をユーザー定義で 『yy/mm/dd』に設定すると B1セルには『09/02/28』と出ますが C1セルには 『09』の部分だけを出したいです この場合同じくユーザー定義で 『yy』にすると 『09』と表記されますが 例えば 月や日付が分からない 『09//』 ↑このような場合に対応できないのです この場合C1セルにはそのまま 『09//』と表記されます 対応策があれば教えていただければ助かります

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

対応策から。   C1セル:=MID(TEXT(B1,"yy"),1,2) コレで対応可能です。 関数の詳細は別途お調べいただくとして、ザックリと。 TEXT関数は、数値を「任意の形式の文字列に変換して返す」関数です。 「値」に文字列を渡すと、何もせずにその「値」を返してきます。 MID関数は、文字列の「任意の位置から、任意の文字数を抜き取る」関数です。 今回は「1文字目から2文字分」抜き取っています。 なので、 B1セルが「09/02/28」だとすると、 コレをTEXT関数で「"yy"形式の文字列」に変換し、 MID関数で「1文字目から2文字分」抜き取ってくる。 B1セルが「09//」だとすると、 コレをTEXT関数にかけても「そもそも文字列だからそのまま」返りますので、 MID関数でココから「1文字目から2文字分」抜き取ってくる。 どちらも「09」が最終的に返ってきます。

noname#225437
質問者

お礼

以前お答えして頂いた時もそうでしたが、とても詳しくて分かりやすかったです 要点を理解していただきピンポイントで教えて頂き助かりました

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

ご質問の意味をよく理解していませんが例えばA1セルに2009/2/28と入力されておりB1セルには3月なら3と、C1セルには5日なら5と入力されているときにD1セルに09/3/5のように表示するならD1セルに次の式を入力します。 =DATE(YEAR(A1),B1,C1) これをセルの表示形式で yy/mm/dd のようにすればよいでしょう。 あるいは =TEXT(DATE(YEAR(A1),B1,C1),"yy/mm/dd")

noname#225437
質問者

お礼

ありがとうございました。

関連するQ&A