下記【↓データ元】ようにカンマ区切りされているデータがあり、任意の2つの条件に合致するデータ数をマトリクス表形式で埋め込みたいと考えています。
完全一致するデータのみカウント対象とするので(ex.CCC(株)等、条件文字に追加文字があるようなものは除く)、splitで配列に入れてfindで一つ一つ検索していくしかないでしょうか?
(データ数が多いと、処理時間がとてもかかるので・・・。)
私が行いたいと思っていた解決策に直結するような下記サイトがあったのですが、これだと条件文字が含んでいればカウント対象(ex.CCC(株)等、条件文字に追加文字があるものも対象)となってしまうので、ご助言いただきたく書き込みしました。
何かアドバイスがありましたら、宜しくお願いいたします。
【↓参考になりそうだと思われたサイト】
http://ohpa.net/modules/xlnote/content0166.html
【↓データ元】
AAA
BBB,CCC
DDD
CCC,AAA
AAA,CCC
BBB
【↓出力イメージ】
AAA BBB CCC DDD
AAA 1 0 2 0
BBB 0 1 1 0
CCC 2 1 0 0
DDD 1 0 0 0
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
時どきこういう質問で、私は思うのだが、エクセルの課題として考えるのでしょう。
であるのに、質問に前身のCSVファイルらしい「データ元」を書く必要があるのか。
エクセルに読み込ませた後の話しで質問すべきです。質問は簡潔に。
ーー
>splitで配列に入れてfindで一つ一つ検索していくしかないでしょうか?
VBAでやればそんなに処理時間がかかるとは考えられない。
>データ数が多いと、処理時間がとてもかかるので・・・。)
データ数のオーダーはどれくらいですか。気になることは書いてない。
ーーー
また結果表が2次元なので、元データはエクセルでA,B列限りか。
C列はないとしてよいか。こういう大切なことが書いてない。
ーーー
またAAA-BBBと、BBB-AAAは非可逆で考えるようだな。
これも注記が必要ではないか。
ーー
関数でやるなら
参考サイトにもあるSUMPRODUCT関数で出来るのでは。
例データ
A1:B6
AAA
BBBCCC
DDD
CCCAAA
AAACCC
BBB
ーーー
結果表
A9:F13
ーーAAABBBCCCDDD
AAA10010
BBB10010
CCC01000
DDD10000
ミソであり、欠点?でもあるかも知れたいがB9が空白の
列を設けたこと。
こうしないと関数では、手がつけられないのでは。
後続回答者がこれをやらない回答が出るか楽しみ。
C列にB列が空白ならA列を持ってくる、作業列を作り、A,C列で
下記の式(を少し書き換えた式)でやる方法もあると思う。
B10は =SUMPRODUCT(($A$1:$A$8=A10)*($B$1:$B$8=""))*1
と入れてB13まで式の複写。
C10には =SUMPRODUCT(($A$1:$A$8=$A10)*($B$1:$B$8=C$9)*1)
と入れて縦方向そして横方向式を複写。
ーー
結果 上表のとおり。
ーーー
こんなのVBA向きの問題だ。
また既回答のようにピボットを使えないか考える方が良いと思う。
No.1
- 回答日時:
例えば、データ元を以下のように整形して、ピボットテーブルでクロス集計するとか。
AAA,AAA
BBB,CCC
DDD,DDD
CCC,AAA
AAA,CCC
BBB,BBB
参考URL:http://www.google.com/search?q=excel+%E3%83%94%E …
書き込みありがとうございます。
確かにクロス集計なので、ピボットテーブルが使えないか考えたのですが、カンマ区切りされているデータが2つとは限らない為、ピボットテーブルだと無理そうだったんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Visual Basic(VBA) エクセル VBA 条件付き書式 簡略化したい 2 2022/06/02 17:46
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに別シートか...
-
現在のブックを閉じないで、マ...
-
【VBA】マクロの入ったファイル...
-
IEの通知バー制御ができなくなった
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
エクセルのマクロについて教え...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
FileCopy時のエラー
-
VBAで各列の"+"と"o"の合計数を...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBA listBoxについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコードを教えてください
-
【ExcelVBA】インデックスが有...
-
ExcelVBA シート名を複数セルか...
-
エクセルvbaについて
-
エクセルのマクロについて教え...
-
【VBA】マクロの入ったファイル...
-
VBA UserFormからの転記で
-
エクセルVBAの配列について
-
Excelで「Ctrl+c」、「Ctrl+v...
-
VBAコードについて教えてくださ...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
VBAで質問があります
-
VBAコードについて
-
【ExcelVBA】VBA実行でダイアロ...
-
Excel関数またはVBAでの質問に...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Outlookの「受信日時」「件名」...
おすすめ情報