- ベストアンサー
エクセルのデータを関数で一行にまとめたい
- エクセルで数字で区切られたデータを関数を使って一行にまとめたいです。現在は一部の処理はできているが、式として扱う方法やスマートなやり方を知りたい。
- 現在、エクセルで数字で区切られたデータを一行にまとめるための関数を使っていますが、式として扱う方法やよりスマートなやり方を教えてほしい。
- エクセルのデータを関数を使って一行にまとめたいです。現在は一部の処理ができているが、式として扱う方法や効率的なやり方を知りたい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- MackyNo1
- ベストアンサー率53% (1521/2850)
添付画像が小さくてレイアウトなどが良くわからないのですが、A1セル以下に例示のデータが入力されていて、最大連結個数が10個までなら、以下のような配列数式を使用すれば表示することができます。 C1セルに以下の数式を入力して、CtrlキーとShiftキーを押しながらEnterして下方向にオートフィルコピーしてください。 =IF(ISNUMBER(A1),LEFT(A2&A3&A4&A5&A6&A7&A8&A9&A10&A11,MIN(ISTEXT(OFFSET(A1:A10,1,0))*1000+ROW($A$1:$A$10))-1),"") #最終的にどのようにデータをまとめたいのかわからなかったので、ひとまず上記の式はA列の数字の右側のセルに連結文字を表示するようにしていますが、例えばまとめたい表が空白行が無い方が良い場合などは、さらに数式を工夫する必要があります。 また実際のデータが、例示のようにひらがなや英文字と限定されているなら、他の対処法も考えられますので、操作の目的を含めて補足説明されるとよいと思います。
お礼
添付画像が見づらい状態での回答ありがとうございます。 皆様に詳しく説明できてない状態で申し訳ないですが、 MackyNo1さんが自分のイメージに一番近い状態です。 ただご指摘のとおり最大連結個数が10までかどうか、多分10以上はないだろうという自分の判断 で質問させていただいたので、ご回答頂いた皆様の式をアレンジして自分で考えてみようと思います。 ありがとうございました。
貴方の添付した図はワークシート範囲が広過ぎるために内容が見え辛い。 [No.1]のように必要最小限の範囲を添付すれば見易いでしょ!
お礼
すみません。参照の式がとても長くなってしまったため 見づらい画面のまま投稿してしまいました。 今後気をつけます。 ありがとうございます。
添付図参照 F1: =IF(COLUMN(A1)>MATCH(LOOKUP($C1+1,$A:$A),$A:$A,0)-MATCH($C1,$A:$A,0)-1,"",INDEX($A:$A,MATCH($C1,$A:$A,0)+COLUMN(A1))) 此れを右方へズズーッとドラッグ&ペースト D1: =F1&G1&H1&I1&J1&K1 範囲 D1:K1 を下方へズズーッとドラッグ&ペースト
お礼
添付画像が見づらい状態での迅速な回答ありがとうございます。 出かけていたためお礼が遅くなり失礼しました。 MACH,INDEXともにあまり使わない関数なので勉強になります。 早速試してみますね。
お礼
添付画像が見づらい状態での迅速な回答ありがとうございます。 作業列作っても大丈夫です。 出かけていたためお礼が遅くなり失礼しました。 mt2008さんの式だと私の関数の知識でもなんとか理解できそうです。 ありがとうございます