0

わかりました、これは尋ねるのが難しい質問になるでしょうが、試してみます。

1 つのワークシート (Worksheet) に 3 つのシート (Sheet1、Sheet2、Sheet3) があります。

Sheet1には、列Company (A)Holding (B)Product (C)Year (D)Spend (E)を含む約 100,000 行が含まれています。
Sheet2には、列Company (A)Holding (B)Product Spend in certain Year (C)を含む 100 行が含まれています。
Sheet3には、列Company (A)ID (B)Variant1 (C)Variant2 (D)Variant3 (E)を含む 100 行が含まれています。

私が欲しいのは、Sheet2で特定の Yearの Product Spend を計算することです。関数SUMIFSを使用して、 Sheet1のテストとしてこれを行うことができました。したがって、Sheet1で使用したのは次のとおりです。

=SUMIFS(E:E,A:A,"Fake Ltd",B:B,"Fake Holding",C:C,"Dog Food",D:D,"2011")

問題は、会社名がすべてのシートで同じではないことです。FuzzyFindで解決しようとしましたが、完全には機能していません。そのため、メソッドを変更することにしました。それがSheet3が存在する理由です。このシートには、1 つの行に 1 つの会社のさまざまな名前のバリエーションがすべて含まれています (リレーショナル データベースに似ています)。

ここで、 Sheet2でこのSUMIFS関数を使用する必要があります。ここで、会社名はSheet3の他のすべての会社名に関連付けられているため、 Sheet1に表示される会社名を 1 つの会社名であるかのように合計できます。Sheet3の列Companyは、「選択された」会社名であり、Sheet2で使用されているものでもあります。問題を起こすのはSheet1です。

どういうわけか、 Sheet2 で SUMIFS と VLOOKUP を組み合わせる必要があります方法わかりません。手がかりはありますか?質問を改善するために最善を尽くします。説明が最善の仕事をしなかったかどうかは想像できます。

4

2 に答える 2

1

Sheet1 が読み取り専用でない限り、Sheet3 から適切な会社名を検索する別の列を Sheet1 に追加するだけです。次に、この列に基づいて Sheet2 に SUMIFS を作成します。

Excel 2010/13 を使用している場合は、代わりにPowerpivotをインストールすることを検討してください。ここでは、シート 1 のテーブルをシート 3 のテーブルに会社名列を介してリンクするだけで済みます。その後、必要なすべての集計を提供するピボットを作成します。

于 2012-12-04T12:12:02.733 に答える
0

あなたが求めているのは、Excel の配列機能だと思います。

http://office.microsoft.com/en-au/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx

シート C については、次のパターンを繰り返すことをお勧めします: 会社、バリアント

そうすれば、オフセット 1、2、3 ... n と比較することなく、C で一致するすべての企業を相互参照できます。

次に、結果を組み合わせて、それを使用して複数の基準と照合できます。

http://blog.contextures.com/archives/2012/07/12/check-multiple-criteria-with-excel-index-and-match/

(基準は基本的に、会社名と年の両方に一致するすべての行の和集合です)。

一致する行の配列を取得したら、その上に sumif を適用できます。

于 2012-12-04T11:08:48.337 に答える