- 締切済み
Excel 同じ内容の文字列セルをまとめる
お世話になります。 文字列の入った複数セルの中から 同じ内容のものがある場合 これらを配列数式データ上でまとめたいと思ってます MATCH構文を使って MATCH($A:$A,$A:$A,0)として 自らと同じものが何処に最も早く現れたかの配列数式データを作り これをソートして その後の主処理のデータにしたのですが MATCH構文かたくじ式なのでしょうか 物凄く遅いのです。 で本題なのですか MATCH構文を使わず 軽いCPU負荷で 配列数式上にある複数文字列データの同じものをまとめたいとき どうすればいいでしょうか? ご教示お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
回答No.2
>MATCH($A:$A,$A:$A,0)として そんな無駄な計算をさせているから遅いんです。 データが記入されているセル範囲を計算させて計算してやれば実用的なスピードで終わります。 #回答しても閉じ逃げるので×を付けました。以後は回答はしませんので悪しからず。
- Cupper-2
- ベストアンサー率29% (1342/4565)
回答No.1
関数を使わない。 元のデータをExcelのメニューからソート(並べ替え)してから処理をする。 (ソートをマクロ化しておくと便利かも)
質問者
お礼
その後の関数式のデータとする 基礎の式ですので マクロもメニュー内の機能も使えないのです。 最終的には含まれる項目の目録作成を目指します。 一応機能実現してはいるのですが 作業列不要だと実用的な速度が得られず 困ってる次第です。 何はともあれ 済みません、ご容赦ください。 お心を傾けて頂きありがとうございます。
お礼
気分を害して済みません あちらは降順ソート こちらはまとめる と、別内容の認識だったのですが 結果として不快な思いをさせたこと、 謝罪します。 所で、 COUNTIF 試しました MATCHと同じ効果が得られるのですね。 =OFFSET(SMALL(INDEX(COUNTIF(A:A,¨<¨&A:A),,),ROW($A1)),0,1,1) としてみました。