• ベストアンサー

数字の桁ごとに、各セルに抽出

最大11桁の数字を各セルに抽出したい。 金額をF列に入力すると、 D列には下3桁が表示され、 C列には右から6桁~4桁、 B列には右から9桁~7桁、 A列には右から11桁~10桁と、 表示されるように、関数を組みたいです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A列は別に使ってB,C,D,E列にF列のデータを並べるのでしたら2行目から下の行にデータがあるとしてB2セルには次の式を入力してE2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF($F2="","",IF(AND(COLUMN(A1)=1,LEN($F2)>9),MID($F2,1,LEN($F2)-9),IF(AND(COLUMN(A1)=2,LEN($F2)>6),IF(LEN($F2)>9,MID($F2,LEN($F2)-8,3),MID($F2,1,LEN($F2)-6)),IF(AND(COLUMN(A1)=3,LEN($F2)>3),IF(LEN($F2)>6,MID($F2,LEN($F2)-5,3),MID($F2,1,LEN($F2)-3)),IF(COLUMN(A1)=4,IF(LEN($F2)>3,MID($F2,LEN($F2)-2,3),$F2),""))))) なお表示されるデータは文字列となっておりますのでセルの左側に表示されますが、セルの右側に揃えるのでしたら「配置」で「文字列を右側に揃える」を選択すればよいでしょう。

hyolli
質問者

お礼

皆さんのご意見を参考にしたところ、 現在良いデータが作れ、大変ありがたく思っています。 ありがとうございました。

その他の回答 (3)

noname#204879
noname#204879
回答No.3

[No.2補足]へのコメント、 B2: =MID(TEXT($F2,REPT("0",11)),(COLUMN(A2)=1)+(COLUMN(A2)-1)*3,3-(COLUMN(A2)=1))+0

hyolli
質問者

お礼

皆さんのご意見を参考にしたところ、 現在良いデータが作れ、大変ありがたく思っています。 ありがとうございました。

hyolli
質問者

補足

早速のご回答ありがとうございます。 数式を試したところ、ゼロのみの場合表示がされませんでした。 (300,000と入力した場合、B列に300、C列には空白) その他は綺麗に表示されます。 お手数ですが、今一度お教えくださいませんか?

noname#204879
noname#204879
回答No.2

“ユーザー定義”で 0;0; に書式設定したセル A2 に次式を入力して、右および下方にズズーッとドラッグ&ペースト =MID(TEXT($F2,REPT("0",11)),(COLUMN()=1)+(COLUMN()-1)*3,3-(COLUMN()=1))+0

hyolli
質問者

お礼

皆さんのご意見を参考にしたところ、 現在良いデータが作れ、大変ありがたく思っています。 ありがとうございました。

hyolli
質問者

補足

早速のお返事ありがとうございます。 教えて頂いた通りの式でいけたのですが、Aの位置に名前を入れ、 Bの位置から数字が入るような書式にしたい(現在のAの行をBの行から開始) のですが、その場合の式はどうなるのでしょうか?お手数ですが、 お答えいただけるとありがたいです。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A2=MID(TEXT($F2,REPT("?",12)),COLUMN()*3-2,3) この数式をコピーして貼り付け

hyolli
質問者

お礼

皆さんのご意見を参考にしたところ、 現在良いデータが作れ、大変ありがたく思っています。 ありがとうございました。

hyolli
質問者

補足

早速のお返事ありがとうございます。 教えて頂いた通りの式でいけたのですが、Aの位置に名前を入れ、 Bの位置から数字が入るような書式にしたい(現在のAの行をBの行から開始) のですが、その場合の式はどうなるのでしょうか?お手数ですが、 お答えいただけるとありがたいです。

関連するQ&A