2017-08-15 13 views
-1

ファイルごとにワードカウントが異なるランダムなリストがあり、列Aの値に基づいて(SUM)関数行をマージする必要があります。Excel VBA:列の値に基づいて行をマージする

基本的には、列Aの値に基づいて列B〜Jの行(値)をマージする必要があります。値が同じ場合のみ、それ以外は何もマージしません。

1つの言語の行が多いということは、その言語のファイルが増えていることを意味します。より多くのファイルがある場合、私は行をマージすることによって総単語数を取得する必要があります。テーブルの更新

Updated table

任意のアイデアを

ソーステーブル

Source table

下記参照画像を参照してください?

EDIT1:これらのデータをすべてCSVにロードして処理する大きなマクロがあります。私の目標は、CSVをインポートし、必要なフォーマットでデータを処理する1つのボタンマクロを用意することです。上のスクリーンショットのように見えるようにするには、数十種類のコードがあります。最後に、細胞をマージすることです。アドバイスをいただければ幸いです。

+5

ピボットテーブルの使用 –

+1

ピボットテーブルを使用しない場合は、「SUMIF」を使用するのが非常に簡単です。あなたは何を試してみましたか? – nbayly

+0

私は、これらのデータをすべてCSVにロードして処理する大きなマクロを持っているため、動作しません。私の目標は、CSVをインポートし、必要なフォーマットでデータを処理する1つのボタンマクロを用意することです。上のスクリーンショットのように見えるようにするには、数十種類のコードがあります。最後に、細胞をマージすることです。アドバイスをいただければ幸いです。 – FilipH

答えて

3

データの下にある一番左側のセルを選択し、[データ]タブのconsolidateボタンを押します。新しいウィンドウで
:、あなたの範囲をマークし、「合計」を選択し、ヒット「左の列」と「OK」「で使用ラベル」
enter image description here

でこれはあなたの合計のリストを提供します:
enter image description here

だけヒント:レコードマクロ(enter image description here)を使用すると、このような用のコードを取得する:

Selection.Consolidate Sources:="[Book1]Sheet2!R2C1:R11C10", Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False 

そして最良の部分:あなたは、外部のデータでこれを行うことができます!あなたのcsvから直接インポートすることが可能です;)

「実際のコード」はあなた次第です。 ;)

+0

これは役に立ちます。ありがとうございました。 – FilipH

+0

ようこそ。そして質問が出てくるならば、ちょうど質問してください:) –

関連する問題