• ベストアンサー

エクセルで西暦→和歴→数字のピックアップ(関数?)

エクセルで西暦→和歴→数字のピックアップができますか? 例えば 1974/04/03(または1974/4/3) ↓ 昭和49年4月3日 ↓ 一文字づつ分けて、それぞれ一つのセルに1文字 「4」「9」「0(またはスペース)」「4」「0(またはスペース」「3」 と変換することはできますか? それらの数字を、別のシートにリンクさせて使いたいのです・・。 かなり困っています。 教えていただけると助かりますいm(__)m

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

No.6です! たびたびごめんなさい。 投稿した後で気づいたのですが、前回の方法はNo.2の mu2011さんとほとんど同様の方法でした。 確認せずに投稿してごめんなさいね。 余計なお世話かもしれませんが、 前回のSheet1のB列は必要なくて、 Sheet2のA2セルに =IF(Sheet1!$A2="","",MID(TEXT(Sheet1!$A2,"emmdd"),COLUMN(A1),1)) として列・行方向にオートフィルで大丈夫だと思います。 何度も失礼しました。m(__)m

mily3
質問者

お礼

お礼が大変遅くなり申しわけありませんm(__)m 何度もご回答ありがとうございました。 大変わかりやすく、参考になりましたm(__)m

その他の回答 (6)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 一例です。 ↓の画像のようにSheet1に1列作業用の列を設けています。 Sheet1のB2セルに =IF(A2="","",TEXT(A2,"emmdd")) という数式を入れ、オートフィルでずぃ~~~!っと下へコピーしておきます。 そして、Sheet2のA2セルに =MID(Sheet1!$B2,COLUMN(A1),1) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 参考になれば良いのですが・・・m(__)m

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 今仮に、元の(西暦の)日付がSheet1のA1セルに入力されているものとします。  和暦に関しては、リンク先のセルに、 =Sheet1!A1 と入力した上で、そのセルの書式設定を[日付]の 平成13年3月14日 とするだけで良いと思います。 ●和暦の10の位を表示する関数 =LEFT(TEXT(A1,"ee"),1)*1 ●和暦の1の位を表示する関数 =RIGHT(TEXT(A1,"ee"),1)*1 ●月の10の位を表示する関数 =INT(MONTH(A1)/10) ●月の1の位を表示する関数 =MOD(MONTH(A1),10) ●日の10の位を表示する関数 =INT(DAY(A1)/10) ●日の1の位を表示する関数 =MOD(DAY(A1),10)

mily3
質問者

お礼

お礼が遅くなり申し訳ございませんm(__)m とてもわかりやすい説明ありがとうございました。 たくさん方法があるのですね。 とても参考になりましたm(__)m

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>1974/04/03 日付シリアル値+日付表示形式でそうなっているとする(文字列でないとするということ。本当は質問にはっきり注釈しておくべき。日付シリアル値のことは知ってるでしょうね) これは和暦で昭和なのだが年号文字は省くのだね。それを明記しておくべき。 B1セルに =TEXT(A1,"eemmdd")で490403 あえて桁数をそろえて扱いやすいようにmmやddにする。 C1セルに=MID($B1,COLUMN()-2,1) と入れてH列まで式を複写 C1:H1に 4 9 0 4 0 3 これで良いのかな。 数字化するなら*1(1をかける) =MID($B1,COLUMN()-2,1)*1 0を空白にするなら =IF(MID($B1,COLUMN()-2,1)="0","",MID($B1,COLUMN()-2,1)) 他シートから参照は=Sheet1!番地

mily3
質問者

お礼

お礼が遅くなり申しわけございませんm(__)m エクセル超初心者なので(><;) いろいろな方法があるのですね・・。 ご回答、ありがとうございましたm(__)m

noname#204879
noname#204879
回答No.3

添付図参照 D1: =MID(TEXT(A1,"geemmdd"),2,2)+0 F1: =MID(TEXT(A1,"geemmdd"),4,2)+0 H1: =MID(TEXT(A1,"geemmdd"),6,2)+0

mily3
質問者

お礼

お礼が遅くなり申し訳ありませんm(__)m いろいろな方法があるのですね・・。 エクセルは難しいです(><) ご回答ありがとうございましたm(__)m

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

一例です。 ■和暦変換 仮に日付入力セルがSheet1のA1、任意セルに=Sheet1!A1を入力、セルの書式設定で表示形式をユーザ定義でggge"年"m"月"d"日" ■一文字抽出 任意セルに=MID(TEXT(Sheet1!$A$1,"emmdd"),COLUMN(A1),1)に設定、右方向にコピー

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

西暦が入っているセルをA1とすると、 A1 1974/04/03 和暦 =TEXT(A1,"gggee年mm月dd日") 年号の10の位 =LEFT(TEXT(A1,"ee"),1) 年号の1の位 =RIGHT(TEXT(A1,"ee"),1) 月数の10の位 =LEFT(TEXT(A1,"mm"),1) 月数の1の位 =RIGHT(TEXT(A1,"mm"),1) 日数の10の位 =LEFT(TEXT(A1,"dd"),1) 日数の1の位 =RIGHT(TEXT(A1,"dd"),1) で取り出せます。 後は、「A1」を別のシートから参照したセルに置き換えるだけです。

関連するQ&A