- ベストアンサー
Excelの関数?について
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A1 6723018954 質問指定の数字列。 B1の式 =A1&A1 67230189546723018954 作業・ワーク・セルです。 A2:A4に、たとえば 9 2 8 と入れるとする。 ーー B2の式 =MID($B$1,FIND($A2,$B$1)+COLUMN()-1,1) C列より右にB2の式をJ列まで複写。 B2:J2の式を下方向3行分に複写。 結果 9 5 4 6 7 2 3 0 1 8 2 3 0 1 8 9 5 4 6 7 8 9 5 4 6 7 2 3 0 1 VBAに関心があるので、VBAでやろうとしたが、 小生でも、上記の関数をすぐ思いついたので挙げる。$の付け方だけ注意必要。
その他の回答 (4)
- neKo_quatre
- ベストアンサー率44% (735/1636)
例えば、B1に、 =VALUE(MID("67230189546", FIND(A1,"6723018954")+1,1)) と入力、J1までコピペとか。
お礼
ご回答ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
>IF関数を使って分岐させればできないことはないのですが、入れ子が深くなって面倒で、もっと簡単にできる方法はないかと思っています。 INDEX関数で目的通りの抽出ができます。 但し、抽出する位置を割り出すにはMATCH関数とMOD関数を組み合わせます。 添付画像の配置を例としてA6へ任意の値を入力するものとしてB6セルへ次の数式を設定します。 =IF(A6="","",INDEX($A$1:$J$1,MOD(MATCH(A6,$A$1:$J$1,0),10)+1)) B6セルを右へJ6セルまでオートフィルコピーすれば完了です。
お礼
ご回答ありがとうございます。
- msMike
- ベストアンサー率20% (364/1804)
次の下準備を実行してください。 1.例えば、K列全体を選択 2.Ctrl+1(セルの書式設定)を実行 3.表示形式]タブ上の[分類]で“文字列”を選択して[OK]をチョーン 4.範囲 K1:K10 の上から 6、7、2、3、0、1、8、9、5、4 を入力 5.範囲 K1:K10 を選択 6.Alt+FT(Excelのオプション)を実行 7.左側のメニューで[詳細設定]をチョーン 8.画面の下部に隠れている[全般]背下の[ユーザー設定リストの編集]をチョーン 9.右側下段のボックス内に「$K$1:$K$10」と表示されていることを確認(その通りになっていなければ、その右端にある将棋盤アイコンをツンした後で、ステップ5を実行すれば好い。「$K$1:$K$10」になったことを確認したら将棋盤を再度ツン) 10.[インポート]⇒[OK]⇒[OK]を実行 此処からが本番ネ 11.「連続した10個のセルに1つずつ数を入れていく」シートを開く 12.文字列に書式設定した任意のセルに任意の1桁数字を入力 13.このセルを上下左右にオートフィルするだけ
お礼
ご回答ありがとうございます。
- mdmp2
- ベストアンサー率55% (438/787)
MID関数しかないようです。 =MID(文字列,開始位置, 文字数) ・文字列は、6723018954 が入力されたセルを指定 ・開始位置は 1~10 ・文字数は 1 10個のセルにそれぞれ、数式を入力したら、それらをまとめてコピーし、次の10個の場所にペースト こうして、10個のセルにバラバラに表示されている数値は、数式なので元の6723018954 が削除されると、なくなります。(エラーになる) 数式から値に変換するには、 ・全範囲を選択して、コピー ・同じ場所に、値としてペースト
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。 考えていた通りうまくできました!