ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュのセル内の文章に日付を飛ばして自動変換

  • mixiチェック
  • このエントリーをはてなブックマークに追加
たぶん、見る本を見ればすぐにわかるレベルの低い質問かもしれません。
勤務中にどうあがいてもできなくて、教えていただけたら幸いです。

例えば
I5のセルに2005/1/1
I6のセルに2005/10/31
I7のセルに117
と入力し、

E8のセルに 2005/1/1-2005/10/31
F7のセルに Yen(ex.117)

A3のセルに 
PIRIOD : 1ST JANUARY 2005 TO 31ST SEPTEMBER 2005
もしくは
Piriod : 1st January 2005 to 31st September 2005
と、I列に入れた日付(やレート)を飛ばして文字と一緒に入力したい場合。

昔やっていたのですが、ブランクが長くてすっかり抜けてしまいました。
手元にある本に網羅されていなくて、申し訳ありませんが教えていただけるととっても助かります。

よろしくお願いします。

コメント(19)

E8の日付は二つのセルに分ける方がやり易いですよね。
>d"st" mmmm yyyy 
は 必ず固定で1日(ついたち)か31日でなければなりませんが…。
しかし、他に簡単に日付を序数表現する方法が思いつきませんけど。
ありがとうございます。

I5〜I7までは常時変動するので、そこさえ変えれば
E8、F7、A3が自動的に変わるようにしたいのです。
教えていただいた方法だと、A3にはフィットするけれど、E8セルの表示も1st January 2005 というようになってしまいますよね。
それから、1日と31日の場合はstになりますけれど、30日の場合もあるので、その場合はthと入れたいので・・・・・・

I5〜I7のほうを固定するのではなく、飛ばした先のセルをいじってなんとかするしかないのかなぁと思っていたのですが・・・どうなんでしょう?
「2005/1/1-2005/10/31」を2005/1/1と2005/10/31のセルに
分けるということに関してはいかがですか?
日付の性質を使うほうが便利です。今の状態は文字列としてしか使えません。それだけの為(二つの日付に分けて処理)に式が長くなります。

序数表記をしない状態では
="PIRIOD: "&TEXT(DATEVALUE(LEFT(E8,FIND("-",E8)-1)),"d mmmm yyyy")&" TO "&TEXT(DATEVALUE(RIGHT(E8,LEN(E8)-FIND("-",E8))),"d mmmm yyyy")

となりました。「2005/1/1-2005/10/31」があらかじめ二つのセルに分かれていればもう少し短くなります。
1stなどの序数にするには、更に日の部分と年月の部分に分けて日が1,21,31の時"st" 2,22の時"nd" 3,23の時"rd" それ以外のとき"th" をつけるというようなことを式に付加しなければなりません。
taktecさん
そうなんですよね・・・30と31で表記が変わるのが曲者で。

かんさん
ちなみにやってみたら、I列は日付表示で問題ないのですが、
A3は Piriod:38353to38656
となってしまいました。
書式の変更ができなくて。


すっかり抜けてしまった自分の脳にあきれ果てています。
レベルの低い質問で申し訳ありませんがよろしくお願いします。
かんさん
月末は31か30日なので、そこまでは不要かと思われます。
できればできたにこしたことはないのですが。

takecさん
ありがとうございます。
同一セルにしないと、その下にデータ(金額)が大量に入る手前、私以外の人間がいじるときに、どうしてここ(その下のセル)だけセル結合されてるの?と、不都合が生じそうで、できれば1つのセルにしたいと思っているのですが。

あ、E8のセルはI5とI6のセルから日付を飛ばしたいので、I5とI6のセルを使えばいいということになりますよね?

となると・・・・・・
赤いパンツさん!

解決しました!
ほんとうにどうもありがとうございました!

かんさん!
いろいろ考えていただいて本当にありがとうございました。
マクロも1年半くらいいじってなかったらだいぶ抜けてしまいました。

みなさまありがとうございました。
勉強します。

本も沢山出ていますが、なかなか即座にコレ!と選べなくて困っています。
皆さんがどんなもので勉強されてきたか、興味深々です。
>夏朋さん
失礼しました
序列表示をしない場合は
="PIRIOD: "&TEXT(I5," d mmmm yyyy")&" TO "&TEXT(I6," d mmmm yyyy")
でいけましたね。日付は最初から別れていたんですね。
把握できてませんでした。
>赤いパンツさん

11,12,13は"th"ではないでしょうか?
takecさん、赤いパンツさんをはじめ、皆様ありがとうございます。
皆様の温かさに感動しています。

赤いパンツさん、
〆日、開始日は月末月初とは限らないので、できることならこれほどありがたいことはありません。
ありがとうございます。
いや、感激です!
私はこんなことできませんから。

ご尽力いただきまして、ほんとうに、ほんとうにありがとうございました。
乗り遅れました…。

赤いパンツさんの案をもうすこし短くしてみました。
ほとんど同じです。

="PIRIOD : "&DAY(I5)&IF(AND(MOD(DAY(I5),10)=1,DAY(I5)<>11),"st",IF(OR(DAY(I5)=2,DAY(I5)=22),"nd",IF(OR(DAY(I5)=3,DAY(I5)=23),"rd","th")))&" "&TEXT(I5,"mmmm yyyy")&" TO "&DAY(I6)&IF(AND(MOD(DAY(I6),10)=1,DAY(I6)<>11),"st",IF(OR(DAY(I6)=2,DAY(I6)=22),"nd",IF(OR(DAY(I6)=3,DAY(I6)=23),"rd","th")))&" "&TEXT(I6,"mmmm yyyy")

・"st"は日を10で割ったあまりが1 かつ 11じゃない
・"nd"は日が 2 か 22
・"rd"は日が 3 か 23

って感じです。"st"だけ3つ(1,21,31)あるのでmodを使ったほうがスッキリするかなぁと考えました。

…といいつつ、あんまり変わらないですね。
やすさん
どうもありがとうございました。
ほんとに皆さん素晴らしいです!

頼ってばかりじゃなくて、自分でなんとかできるように、努力していきたいと思います

が、

それでもまた行き詰ったら教えてください。

もちろんそうならないように頑張ります。

ログインすると、残り7件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。