プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
関数を使い特定のデータを計算させたいのですが行き詰っております。
お力添えいただけたら幸いです。

◆やりたいこと
A1セルに「2/19/2022, 12:24:47 GMT+9」と値貼付し
B1セルに「Sat Fab 19 03:24:47 UTC 2022」と表示したい。
※A1の月/日はその時々により1桁/2桁になります。(1月は1桁,12月は2桁など)

A1のデータを9時間マイナスし かつ 曜日/月/日付/時間/UTC(特定の文字)/年 で出力をしたい。

◆困っていること
全体的に困っています。Left関数などを使用し欲しいデータを抽出する事は出来るのですが
Left関数などを使うと年や月として取得できず,計算などのステップに進めない状態です。
詳しい人からのご意見や関数のご教示いただけると幸いです。

A 回答 (7件)

Febでなく Fabですね。

ユーザ書式をすればなんとかなるかもしれません。
    • good
    • 0

こんにちは



すでに回答に出ているように、文字を切り取りながら再構築すればできると思われます。
(まとめると長ったらしい式になりますけれど・・)

システムの日付の書式設定に "d/m/yyyy" 形式を追加設定しておけば、「2/19/2022」の形式をそのまま解釈してくれるようになるので、かなり簡単にすることが可能になるものと想像します。
(多分、設定はなさっていないものと思いますけれど・・)

また、タイムゾーンの値は固定値としてよいのかご質問文からでは不明ですが、一応、解釈の対象に入れるものとしました。(固定値で良ければ、少し簡単になります)

A1に元の文字列があるものとして、B1セルに

=TEXT(DATEVALUE(RIGHT(LEFT(A1,FIND(",",A1)-1),4)&"/"&LEFT(A1,FIND(",",A1)-6))+TIMEVALUE(MID(A1,FIND(",",A1)+1,FIND("GMT",A1)-FIND(",",A1)-1))-MID(A1,FIND("GMT",A1)+3,99)/24,"ddd MMM dd hh:mm:ss UTC yyyy")

では、いかがでしょうか?

※ 「2/19/2022, 12:24:47 GMT+9」 カンマ付きの書式はあまり見たことがありませんが、
  カンマ有として処理してあります。(上式は、カンマが無いとエラーになります)
※ 「年」は4桁と決め打ちして計算を少し簡略化してありますので、3桁の年の場合はエラーになります。
    • good
    • 2

[No.2]への補足、


》 A1セルに「2/19/2022, 12:24:47 GMT+9」と値貼付し…
“文字列”でなく「値」とあったので、私は日本標準時「2022/2/19 12:24:47」に該当する(ここの添付図セル A1 の)シリアル「値」44611.5172106481 のことと思って、回答した次第です。為念。
「【Excel/関数】特定の文字列から日付」の回答画像5
    • good
    • 1

FIND関数を使って "/" の位置を確認すれば、MID関数で年,月,日を切り出せると思いますがいかがでしょう。



FIND関数は検索を始める文字の位置を指定できます。
2つ目の "/" は
 1/1/1901
 31/1/1901
 1/12/1901
 31/12/1901
のパターンから、4文字目から検索すればよいと分かります。

月と日は問答無用で2文字切り抜いて "/" を拾う事を考慮して SUBSTITUTE関数で "/" を空白に置換してしまえばよいでしょう。

まあ、面倒な組み合わせになりますが、とりあえず関数を一つずつ使って返ってくる値を確認しながら数式を作ると良いと思います。

添付した画像はシリアル値に変換したものです。
あとはTEXT関数で好きに書式を指定できるでしょう。
「【Excel/関数】特定の文字列から日付」の回答画像4
    • good
    • 1

おはようございます。



時刻の表示形式が、hh:mm:ssの8桁で、尚且つ9時以降でしたら、
できるかと思います。 9時より前だと、日付の調整も入るので大変かと。
例えば、時間だけでしたら、下記で出せるかと思います。

=MID(A1,FIND(":",A1)-2,8)-"9:00:00"

例えば、A2のセルに、=FIND(":",A1) を入れて、時間と分の間の:の
位置を取得し、その情報を元に、left関数や、right関数、Len関数で、
上記時間の結果に、残りを文字として連結するとかでしょうか?
    • good
    • 1

こういうことですか?


A1→数式: =NOW()
 ̄ ̄書式: m/d yyyy"," h:mm:ss" GMT+9"
B1→数式: =A1-"9:0"
 ̄ ̄書式: ddd mmm d hh:mm:ss" UTC "yyyy

添付図参照(Excel 2019)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓
「【Excel/関数】特定の文字列から日付」の回答画像2
    • good
    • 1

LEFT関数は文字列操作の関数なので返り値は文字列になります。


とりあえず、最後に*1をつけてみては?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング