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

初歩的な質問で大変恐縮なのですが、、、

以下のような日付形式を「y/m/d」でB1に分割したい際、B1に抽出された日数がどうしても文字列になってしまい困っています。

また、A列には日付以外に「条件外」と文字列が入っているため、
その場合はそのままの文字列をB列に返したいため、以下のような関数を挿入しております。

《例》
A1「2017/5/5 13:02」 B1「=IF(ISERROR(A1),MID(A1,1,8),A1)」
A2「条件外」




すると B1に「2017/5/5」と数値が返ってくるのですが、
数式を値でコピーすると、「2017/5/5 13:02」のように反映され、全く数値が分割されておらず、
尚且つ、別シートの値(日付)「SUMIFS」で付き合わせする際、
文字列として認識されているようでうまく数値の付き合わせができない状況です。


どなたかヒントなどいただけると大変ありがたいです。

A 回答 (3件)

No.1です。



>A1「2017-05-05」 B1「=SUBSTITUTE(A1,"-","/")」

A1セルは手入力ではないのですか?
通常 2017-05-05 と入力するとExcelの方で自動的に日付(シリアル値)と判断してくれます。

もしかしてどこかから引っ張ってきたデータで「文字列」になっているのでしょうか?
文字列ならSUBSTITUTE関数でそのように表示されるのは納得できます。

仮にA列が文字列だとすると
SUBSTITUTE関数で返ってくる結果は文字列なので、シリアル値に直す必要があります。

=SUBSTITUTE(A1,"-","/")*1

としてみてください。
シリアル値が返ってきますので表示形式で調整してみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

助かりました

教えていただいたすべて参考になるどころか、バッチリ問題解決いたしました!

この度は、ご親切かつ大変わかりやすく解説いただき、本当にありがとうございました!!

複数のシステムからダウンロードしたCSVデータをつき合わせて計算おこなっておりますので、
この後も不明点あれば、また別に質問させていただきます。


今後ともどうぞよろしくお願いいたします!

お礼日時:2017/06/10 11:37

これで良いのでは?


=YEAR(A1)&"/"&MONTH(A1)&"/"&DAY(A1)
    • good
    • 0
この回答へのお礼

ありがとうございます!

色々な方法あり、大変勉強になります!!

お礼日時:2017/06/10 11:39

こんばんは!



日付部分のみを求めたい!というコトでしょうか?
>2017/5/5 13:02
は見た目(セルの表示形式)でそのようになっているだけで、実際の値は
「42860.54306」 というシリアル値になります。
整数部分が日付で小数点以下が時刻の扱いです。

※ セルの表示形式で操作できるのは「数値」になります。
おそらく 2017/5/5 を求めたいというコトだろうと思います。

B1セル(セルの表示形式は好みの日付にしておく)に
=IF(A1="","",IF(ISNUMBER(A1),INT(A1),A1))
としてみてください。

※ 余談ですが、時刻部分だけを求めたい場合は
=IF(ISNUMBER(A1),MOD(A1,1),"")

で求めるコトができます。

※ シリアル値についてはネットで検索してみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

遅い時間にご回答いただきありがとうございます!

分割できました!!

質問ばかりで大変恐縮なのですが、、、
付き合わせデータの件なのですが、、、

お陰さまで「シート1」のB1については、
「2017/5/5」(シリアル値:42860)と時刻部分は分割できたのですが、
「シート2」のB1数値「2017/5/5」と「SUMIFS」で数値がうまく付き合わせできない状況です。


「シート2」の日付については、少々形式が異なったため、
以下のような関数で「2017/5/5」と形式整えております。

《例》「シート2」
A1「2017-05-05」 B1「=SUBSTITUTE(A1,"-","/")」

として

B1「2017/5/5」と表示させております。


重ねて大変恐縮ですが、こちらについてもお心当たりなどいただけますと大変ありがたいです。

お礼日時:2017/06/10 02:39

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