• ベストアンサー

日時を文字列にしたい

こんにちは。 以下の内容で困っています。 アドバイス宜しくお願いします。 ○内容 セルA1に「2008/11/10 09:08」と入力されている日付のデータがあります。 これをB1に「200811100908」という文字列にしたいのですが、関数を利用して対応できないでしょうか? ○環境 Excel2000 ※西暦部分に関しては以下の方法で文字列にすることができました。 1.B1=YEAR(A1)*10000+MONTH(A1)*100+DAY(A1) 2.出力した値を標準書式にする

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =TEXT(A1,"yyyymmddhhmm")

ishikkoro
質問者

お礼

こんにちは。 すばやい回答有難うございます。 こんなに簡単にできるとは・・・。 有難うございました!

関連するQ&A

  • 日にちの隣の列を書き出すには?

    A列に日付(西暦、月、日)、B列には曜日(祝日は祝と反映)が一年分入力されています。(2009年とは限りません) C1セルにある日にちを月と日だけで入力(たとえば1月1日)したときにD1セルに対応する日付の曜日の欄のセル番号(1月1日の場合は B1、2月1日の場合はB32)と表示させる方法を教えて下さい。(なぜB1と表示させたいのかというと、 B1 をindex関数で参照して別の作業をしたいからです) 以下は私がチャレンジしてダメだった内容です。 難しいのは、A列の日付が過去の日付という事です。C1セルにはただ単に1月1日、とだけ入力するようにしたいので、セルの日にちは自動的に「今年の」1月1日になってしまいます。A列が昨年以前の日付だとすると、C1=A列にはならないので、簡単なlookup関数などでは処理できません。 E列に=month(A1)、F列に=day(A1) 、として下までコピーし、month(C1)とday(C1)と同じものを探す、なんていうやり方は頭にあるのですが、それを表現できません。 また、A列でヒットした場合、B列のセル番号を返す、(A123が同じだった場合にB123と返す)というのが私の知識では及びません。(1つ下のセル、なら、row+1ですが、1つ右のセル、だと、column+1ではできない) いろいろなやり方があると思いますが、これを使って1年分の売り上げ分析を一枚のシートでやろうと思っているので、なるべくこの部分で複雑な展開にはしたくありません(ファイルが重たくなる)。 皆さんのお知恵をお願いいたします。 よろしくお願いします。

  • VBAで数値を文字列にして入力したい

    Range("A" & X).Value = Year(Date) Range("B" & X).Value = Right("0" & Month(Date), 2) このVBAでは セルの書式指定で文字列にしても 文字列の指定を外すと数値に戻ります。 でも、文字列の設定を外したら 数値に戻らないものもあり ピボットテーブルで集計した時に 同じ「2013」が2種類存在してしまいます。 どうしたらいいですか?

  • エクセルで半角数字には数値と文字列がある?

    http://okwave.jp/qa/q6473596.html の質問を見て私も納得がいかず質問させていただきます。 たとえば、A1セルの書式を文字列に設定してから半角で数字を打ち込むと数字は数値でなく文字列としてセルに入ります。 この入力後、A1セルの書式を標準や数値に直してもそのセルの中の数字は左に寄ったままで文字列のままでいるようです。 (でもこれをセルの中でエンターキーを押したりすると数値になってしまいますが) 次にB1セルの書式を標準あるいは数値にして数字を打ち込むと、当然のことですが数字は数値としてセルに入ります。 この入力後、B1セルの書式を文字列に変えると数字は左に寄りますから一見文字列になったように見えます。 ところが上記のセルとこのセルをA1=B1で試してみるとFALSEが返ります。 逆に同じ数字を数値として打ち込んだセルと=で試すとTRUEが返ります。 これはA1とB1は同じ文字列としての数字ではないという証拠だと思います。 B1セルの書式を標準に戻すとまた数字は右よりにもどりますから、セルの中の数字は数値のままのようです。 つまり、半角の数字にはセルの書式にかかわらず文字列と数値の二つがあるということなのでしょうか? だとしたらこの二つはどうやって区別すればいいのでしょうか?

  • エクセル 関数 001 002と文字列で表示した

    お世話になります。 XP/ エクセル2003 使用です。 エクセルの関数で、 数字を3桁で数字を表示したく 下記のように関数を組みました。 (セルの書式は、文字列にしています) 001の場合  =IF(A1="","","001") とし、001が問題なく返ってきます。 次のセルに、002と連番を振っていきたいので  =IF(A2="","",B1+1) としましたが、   2  (002ではない) と返ってきます。(書式は文字列) 002、003、004・・・と続けていきたいのですが、 どのようにすればよろしいでしょうか? ご多用中恐れ入りますが、 よろしくお願いします。

  • ピボットテーブルで列ラベルにすべての月を表示する

    ピボットテーブルで列ラベルに1月から12月までデータのない月も表示したいのです。列ラベルに持ってきた項目は、データベースで入力された日付を以下の関数で隣のセルに26日始まり25日締めに直して表示した月、名づけて”計上月”です。 =IF(A1=0,"",IF(DAY(A1)>=26,YEAR(A1)&"年"&MONTH(A1)+1&"月",YEAR(A1)&"年"&MONTH(A1)&"月"))。 たとえば1月25日は”1月”、1月26日は”2月”と表示されます。 列ラベルのフィールドの設定で、「データのないアイテムを表示する」にチェックをつけても、データのあるアイテムしか表示されません。どうしたらうまくいきますか?

  • EXCELで日付を文字列として取り出すには

    EXCELで日付形式のセルの内容を、そのイメージのまま文字列にするにはどうすれば良いでしょうか。何かうまい方法があれば教えてください。 例えば、2006/01/05 と表示されている日付をそのまま文字列として 取り出したいのです。単にセルの書式設定で文字列に変えただけでは 38722とタイムスタンプの値らしきものに化けてしまうので困っています。

  • Excelで日付の書式を指定文字列に変換

    Excelで日付の書式を指定文字列に変換 セルから日付情報を得て、文字列でyyyymmddに変換するには、どのようにすればいいでしょうか。VBA・関数のどちらでもかまいません。よろしくお願いします。

  • セルの書式が標準なのに文字列にできるのはなぜ?

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示になってしまいます。 会社のシステムが吐き出したエクセルはセルの書式が標準なのに 中の数字が文字列でいられるのが疑問です。 会社のシステムの吐き出したデータは Microsoft Excel 2.1ワークシートで 全てのセルの書式設定は「標準」です。 で例えば 12345678901234 は 12345678901234 と表示されていて 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) 0101という値のセルでも 表示は0101ですが 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) それらのセルの値をマクロとかで別セルに転記すると 転記先では1.23457E+13 と表示されてしまいます。 (0101は101になります。) まっさらなエクセルに自分で手入力すると ・セルの書式設定が標準だと 12345678901234 ↓ 1.23457E+13になります。 ・セルの書式設定が数値だと 12345678901234 ↓ 12345678901234 ・セルの書式設定が文字列だと 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) なのに会社のシステムの吐き出しデータは セルの書式設定が標準なのにもかかわらず 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) となっています。 手入力で書式設定が標準の状態でセルに12345678901234 と表示させるには先頭に ' をつける方法しか知りませんが ' が無いのに表示されています。 でもこの該当セルをマクロで別セル(書式設定:標準)に転記すると 1.23457E+13 となります。 またシステムが吐き出したエクセルの同じシート内に 以下のマクロで転記すると ↓ Sub 転記() 行 = 2 Do If Cells(行, 6).Value = "" Then Exit Do If Cells(行, 6).Value >= 10 Then Cells(行, 7).Value = Range("A2") Else Cells(行, 7).Value = Range("A3") End If 行 = 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。

  • Excelで年月日データから下二桁だけを取り出したい。

    Excelで年月日データから下二桁だけを取り出したい。 お世話になります。 Excel2000を使用中です。 まあ、この質問に関してはあんまりバージョンは関係ないと思いますが。 セル(例としてA1)に日付データが入っています。 このセルから西暦年の下二桁だけ取り出したいです。 Year関数を使って =year(A1) とすると西暦年4桁が得られます。 4桁では困るのです。2桁にしたい。 どうしたらよいでしょう? 多分、Text関数を使うと思うのだけれどうまくいかない。 注意 Year関数で得られた結果から2000を減算するのはNG 事情があってセルの書式変更はできない。よってセルの書式を使う方法はNG よろしくおねがいします。

  • Excelで文字列セルにて条件式を設定するには

    Excelにて、書式設定が「文字列」のセルに以下の条件を設定するにはどうすればよいでしょうか。 どなたか教えてください。 Excelのマクロ機能を使用して、CSVデータを取り込み、シート上の所定のセルにCSVデータを出力させている既存システムがあるのですが、出力の際に次のような条件を追加したいと考えています。 なお、マクロの修正にて対応できればいいのですが、システムの設定上、マクロをいじることができないため、なんとかシート上で条件式にて対応したいと考えています。 列Bのセルに、隣の列Aの値をみて出力する内容を変えるための条件式を設定したい。 なお、列A,Bともに条件を設定する対象は複数行を想定。ともに書式は文字列。 例) ・A1の値が空欄でないとき、B1には取り込んだCSVデータの値を表示。 ・A2の値が空欄のとき、B2には固定で”あああ”と表示(現行ではA2のデータ元CSVがスペースの場合、B2のデータ元も必ずスペース。よって、A2、B2ともに空欄になっている)。 とりあえず、列BにIF文の条件式を設定してみたのですが、文字列セルのため、設定した条件がそのまま表示されてしまいます。 なにかよい方法はないでしょうか。よろしくお願いします。

専門家に質問してみよう