• 締切済み

Excelにてセル内容の分解

質問させて頂きます セルA1、A2に書きのようなカンマ区切りのデータが入っているとします、 [A1] 0,1,3,4 [A2] 2,3,4 このデータを下記のように0=A1、1=b1・・・・ といったように分解させるにはどうしたらよいのでしょうか? ご教授をお願い致します   A B C D E 1| 0 1   3 4 2|     2 3 4

みんなの回答

回答No.7

まず、0,1,3,4と入力されている同じA1に関数で別の結果を返すことは不可能です。 0,1,3,4 2,3,4 がSheet1に入力されている場合、 Sheet2のA1に =IF(ISERROR(FIND(COLUMN()-1,Sheet1!$A1,1)),"",COLUMN()-1) と入力してこれを縦横に必要な分だけコピーしてください。 あとはSheet2の範囲をコピーし、同じ範囲に形式を選択して貼り付け→値 としてください。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.6

ちょっと0~4の数値と固定した関数式になってしまいましたね。 数字ではなく文字列かも知れませんので、その場合、同じような処理をするには式を以下のようにしてコピーして下さい。 [B1]=IF(ISERROR(FIND("項目1",$A1)),"","項目1") [C1]=IF(ISERROR(FIND("項目2",$A1)),"","項目2") [D1]=IF(ISERROR(FIND("項目3",$A1)),"","項目3") [E1]=IF(ISERROR(FIND("項目4",$A1)),"","項目4") [F1]=IF(ISERROR(FIND("項目5",$A1)),"","項目5") FINDで$A1に「項目1」という文字があるか検索します。 「項目1」の文字が含まれれば、$A1の中の文字列の何番目から始まっているかが返ってきます。 「項目1」が無ければ、エラーが返ります。 ISERRORでFINDの結果を判断します。エラーならTRUE(正)、エラーでない(何番目かの数字)ならFALSE(否)が返ります。 IFでISERRORの結果の条件分岐。 エラー(「項目1」が無い)であったなら何も文字を出力しません。 エラーでない(「項目1」があった)なら、「項目1」を出力します。 お役に立てば幸いです。

回答No.5

以下の方法で行ってみてください。 念のため、元データはコピー、保存して置いてください。 【手順】 (1)カンマ区切りのあるセルを選択 (2)メニューからデータ/区切り位置を選択 (3)ウィザート2で、カンマにチェックマーク (4)ウィザート3で表示先を指定し完了(その場でよければそのまま完了)

  • at121
  • ベストアンサー率41% (85/206)
回答No.4

質問者の示した例からは 単純に カンマ区切りでなく  0、1、2、・・と言うのは列の番号に対応するのか・・  入力列(A列) より 右:各列に 0,1,2,3・・ 出力 Sub 指定列の選択範囲に実行() Dim 指定セル As Range For Each 指定セル In Selection Call カンマ区切り分解(指定セル) Next End Sub Sub カンマ区切り分解(指定セル As Range) 配列 = Split(指定セル.Value, ",") 指定行 = 指定セル.Row 指定列 = 指定セル.Column For Each 指定要素 In 配列 要素の数値 = Val(指定要素) Cells(指定行, 指定列 + 1 + 要素の数値) = 要素の数値 Next End Sub

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.3

スマートな解決法ではないかもしれませんけれど。 カンマ区切りの数字が0~4と決まっているのであれば、こんな感じでいいと思いますけど… [B1]=IF(ISERROR(FIND(COLUMN()-2,$A1)),"",COLUMN()-2) この式を、B1~F1にコピーします。 これを、必要な行数分だけ下へコピーします。 これでB~F列にそれぞれ「0」~「4」が抽出できると思います。 その後、B~G列をコピーして、A1を選択し、「形式を選択して貼り付け」で値貼り付けする。 いかがでしょ?

  • jsatoshi
  • ベストアンサー率0% (0/0)
回答No.2

元のデータが、 [A1] 0,1,,3,4 [A2] ,,2,3,4 のような形であれば 「データ」→「区切り位置...」で区切る事ができますが、、いかがでしょう。

zebrahead-rrr
質問者

お礼

ご回答どうもです、 残念ながら、元のデータはどうしても下記のような形式になってしまいます、 [A1] 0,1,3,4 [A2] 2,3,4 マクロで試みてみます、、 >元のデータが、 >[A1] >0,1,,3,4 >[A2] >,,2,3,4 > >のような形であれば >「データ」→「区切り位置...」で区切る事ができますが、、いかがでしょう。

  • jun2249
  • ベストアンサー率30% (67/222)
回答No.1

マクロを組んでみたらいかがですか?

関連するQ&A