
https://oshiete.goo.ne.jp/qa/9079100.html
にて質問させて頂き、
> 「平成27年10月分」などと表示出来れば「シート名を取得」セルが不要ならば、いきなり次式を任意のセルに入力することも可。当該セルが必要なら、それを参照すると式が簡単になるだけ。
> =(LEFT(RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("]",CELL("filename",A2))),4)&"/"&MID(RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("]",CELL("filename",A2))),5,2)&"/1")+0
> 書式は ggge"年"m"月" とでも。
>
> なお、上式中の A2 は任意のセルアドレスで構いません。例えそこに何か入力されていても、エラー表示されていても、です。
のご回答が一番状況にあったのですが、
日付を追加する場合はどのようにしたらいいでしょうか。
(関数を読み取って変更できませんでした。。)
例えば、20151005とシート名に入力して
2015年10月13日 と表示させるにはどのようにしたらいいでしょうか。
(今回は、和暦ではなく西暦表示をしたいです。)
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
・・・問題を先送りしただけでしたか。
>20151005とシート名に入力
>2015年10月13日 と表示
8日後の日付にしたいということか?
文字列の中から「年」「月」「日」を切り出すわけなのだが…。
FIND関数やMID関数がどのように使われているのかをよく考えてみよう。
これが分からなければ、疑問は解決しない。
(質問文にある数式はちょっと分かり難いだろう。分かりやすいようにMID関数メインで数式を組むと以下の説明のようになる)
目の前にある疑問を先送りするのであれば、下記に示す一番最後の数式を使えばよい。
急いでいるようなので、まずはコピーだ。
理解し応用ができるようになりたいのであれば以下の説明を読んでください。
=CELL("filename",A2)
これはA2セルのあるシートの名前を取得するこの関数式の要(かなめ)だ。
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1,4)
これでシート名から「年」に相当する文字列を切り出す。
FIND関数はCELL関数で返ってきた文字列からBook名を示す [ ] の最後の「]」が文字列の先頭から何番目にあるかを調べている。
同様に「月」と「日」を切り出す。
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4,2)
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4+2,2)
※前回は「日」がなく、○年○月1日にするため「日」に相当する箇所に「”/1”」を加えている。
この関数を「/」区切りの日付形式の文字列にする。
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1,4)&"/"&MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4,2)&"/"&MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4+2,2)
※シリアル値にする必要がなければ、ここで年月日を加えた文字列にしてもよい…と自分は前回の質問で答えている。
さらにこれをシリアル値にするため、値の変わらない四則演算に加える。
(0を足したり引いたり、1を掛けたり割ったりする)
これは日付と判断できる文字列を数値演算するとシリアル値に置き換えて計算をするというExcelの機能を利用している。
しかし8日後の日付にするため更に+8する。
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1,4)&"/"&MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4,2)&"/"&MID(CELL("filename",A2),FIND("]",CELL("filename",A2))+1+4+2,2)+8
あとはこのセルの書式を西暦表示の日付にすればよい。
前回は元号で表示するように指定されているだろ。
実際に数式を作るときは上記のような手順で他のセルに分解した状態で作成し、最後にまとめるようにすると間違えることがない。

No.4
- 回答日時:
》 例えば、20151005とシート名に入力して 2015年10月13日 と表示させる…
シート名が「2015年10月5日」もどきなのに、セルに「2015年10月13日と表示させる」その心は何ですか?
「日付を追加する場合」などと訳が分からないことを仰って、血迷っていませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelに入力した個々の日付の数...
-
31:30:00が1900/1/1 7:30:0
-
入力後に日付順になるように自...
-
日付だけを変更して印刷(Excel)
-
EXCELで直近の日付を抽出する関数
-
Excelで8/26等の日付を全てその...
-
エクセルでENTERを押すと数式が...
-
Excelで半年後の日付を計算したい
-
エクセル関数で日付かどうかの...
-
WORDで翌日や翌々日の日付を表...
-
☆Excelエクセルで入力した日の...
-
エクセルのセルにカレンダーを...
-
EXCEL 日付の入力形式
-
ファイルのオープン時に今日の...
-
Excelで指定の曜日の日付を表示...
-
VBAでセルに入っている日付をシ...
-
word差し込み印刷で日時表示を...
-
ワード差込について
-
VBAで「エクセルに写真を貼り付...
-
エクセルで1年後の月末を表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに入力した個々の日付の数...
-
日付だけを変更して印刷(Excel)
-
入力後に日付順になるように自...
-
31:30:00が1900/1/1 7:30:0
-
Excelで半年後の日付を計算したい
-
エクセルでENTERを押すと数式が...
-
Excelで8/26等の日付を全てその...
-
エクセルで数字列の間に『/』を...
-
エクセル 当番表の作り方 エク...
-
エクセル関数で日付かどうかの...
-
ファイルのオープン時に今日の...
-
日付を入力したセルをファイル...
-
【マクロ】A列にある、日付(本...
-
日付の照合でFALSEになります。
-
EXCELで直近の日付を抽出する関数
-
WORDで翌日や翌々日の日付を表...
-
エクセルで日付入力欄を作成し...
-
ワード差込について
-
エクセルで1年後の月末を表示さ...
-
日付入力→指定のセルの色を塗り...
おすすめ情報