![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
>小生のExcelSheetのAカラムに次のようなものが入っており
>-->に変換したいというものです。
>Oct 18 2011 ---> 201110
>Nov 8 2011 -----> 201111
つまり、御質問文にある様な、
>Jun Jul Aug などのの月を示す3文字短縮形の文字列
が入っている訳ではないのですね?
それでしたら、出力先のセルの書式設定を[ユーザー定義]の
yyyymm
とされた上で、次の関数を入力して下さい。(別Sheetは必要ありません)
=IF(ISNUMBER((MID($A1,5,2)&" "&LEFT($A1,3)&" "&RIGHT($A1,4))+0),(MID($A1,5,2)&" "&LEFT($A1,3)&" "&RIGHT($A1,4))+0,"")
尚、元データをシリアル値に変換するのではなく、あくまでも"201110"の様な文字列に変換したいという事でしたら、次の様な関数として下さい。
=IF(ISNUMBER(("1 "&LEFT($A1,3)&" "&RIGHT($A1,4))+0),TEXT("1 "&LEFT($A1,3)&" "&RIGHT($A1,4),"yyyymm"),"")
または、シリアル値や文字列ではなく201110の様な6桁の数値データに変換したいという事でしたら、次の様な関数として下さい。
=IF(ISNUMBER(("1 "&LEFT($A1,3)&" "&RIGHT($A1,4))+0),TEXT("1 "&LEFT($A1,3)&" "&RIGHT($A1,4),"yyyymm")+0,"")
これです! 末尾の関数をExcelのSheetにコピペして数行コピーしたところ、
A1フィールドにあるJul 05 2012 が B1フィールドで201207 となりました。yyyymmdd(今回の場合はyyyymm)を定義すればいいということですね。
関数の内容は後ほどじっくり読んで理解させていただきます(まだ良く読んで理解するところまでいっていないので。。)が、まずはうまく変換できたことをお知らせいたします。
"Jul 05 2012"とはもともと或海外システムデータをテキスト化したものの、支払日に相当するものです。これを年月に変換していろいろと分析するためのものでした。システムによって日付が区々なので、今回の場合は(グレゴリオというのかな)月の部分が三文字の英文になっているものでした。日本人感覚では yyyy/mm/ddやyyyymmddなど年月日(数値)で捕らえたいというのが一般的かと小生は思っておりますが。。。
ありがとうございました。
No.3
- 回答日時:
回答No2です。
masterシートのA列に入力されているデータがJun01,Jul01などと入力されている場合にJunを01、Julを02などにするにはVLOOKUP関数を使って対応するのがよいでしょう。
masterシートの例えばC1セルにAprと入力してC12セルまでドラッグしてDecまでオートフィルします。
D1セルには1から下方に12までの数値を並べます。
A1セルにJun01と入力されているとしたら単に6を表示させるだけでしたら
=VLOOKUP(LEFT(A1,3),C:D,2,FALSE)
もしも2012/06/01のように日付として表示させるのでしたら
=("2012/"&VLOOKUP(LEFT(A2,3),C:D,2,FALSE)&"/"&RIGHT(A2,2))*1
を入力してセルの表示形式を yyyy/mm/dd のようにすればよいでしょう。
No.2
- 回答日時:
masterシートにはA列にJan01,Feb02,Oct18,Nov08などの文字列が入力されており、B列にはそれに対応したデータが入力されているとします。
別のシートではA1セルから下方に
Oct 18 2011、Nov 8 2011などので日付のデータが並んでいるとします。
B列にmasterシートからのデータを表示させるとしたら次の式をB1セルに入力し下方にドラッグコピーすればよいでしょう。
=IF(COUNTIF(master!A:A,TEXT(A1,"mmmdd"))=0,"",VLOOKUP(TEXT(A1,"mmmdd"),master!A:B,2,FALSE))
ご質問ではmaterシートのA列のデータを変換したいとのことでしょうか?上記の対応でもよいと思いますが。
No.1
- 回答日時:
今仮に、Jun Jul Aug などのの月を示す3文字短縮形の文字列が、例えばA1セルに入力されているものとしますと、次の様な関数は如何でしょうか?
=IF(ISNUMBER(TEXT(A1&"-1","mm")+0),TEXT(A1&"-1","mm"),"")
ありがとうございます。
そのものずばりの関数はないようですね。
小生のExcelSheetのAカラムに次のようなものが入っており
-->に変換したいというものです。
Oct 18 2011 ---> 201110
Nov 8 2011 -----> 201111
現状ではさらに別Sheetにmasterを作成し、Vlookupをつかってます。
Mater sheet (01 02は文字列にしてます)
Jan01
Feb02
Mar03
Apr04
=RIGHT(A106,4) & VLOOKUP(LEFT(A106,3),master!$A$1:$B$11,2,FALSE)
このmaster方式に該当するようなたとえばgregorio関数なんかがないかなというつもりなのですが、どうもないようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) EXCEL 和暦を西暦に変換する方法について 4 2023/03/02 20:57
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
- Excel(エクセル) Excel 同一セル内 年、日 入れ替え 5 2022/04/09 01:48
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
参照先セルに値が入っていない...
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
空白でないセルの値を返す方法...
-
エクセルの数式がかぶって、選...
-
エクセルで複数の条件で掛け算...
-
エクセルで、特定のセルの内容...
-
yyyy/mm/ddからyyyy/mmへの変換
-
IF関数1と6なら「〇」それ以...
-
エクセルの数式で計算結果に文...
-
Excelでセルに入力されたカラー...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
バーコードが読み取れない原因...
-
excel 関数にて文字を0として認...
-
マイナス同士の前年比
-
エクセルで入力した数字を倍に...
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
入力したところまでを自動的に...
-
エクセルで、特定のセルの内容...
-
エクセルの数式がかぶって、選...
-
エクセルで複数の条件で掛け算...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
エクセルの数式で計算結果に文...
-
マイナス同士の前年比
-
バーコードが読み取れない原因...
おすすめ情報