1

複数のシートを含むExcelファイルがあります。1 つのシート、プログラム データには、すべてのマニュアル エントリが含まれています。このデータの非常に基本的な概算は次のようになります。

ID     Type     Route     RevACT Aug 2013     RevBGT Aug 2014 ...
250    New      CCS           $1000.00           $500.00
310    Deep     RCS           $750.00            $150.00
015    Exist    CCS           $250.00            $1000.00

私たちがやっていることは、2 つのステップからなるステップであり、1 つのステップに要約したいと考えています...

現在、sumif ステートメントを使用して、次の式を使用して、必要な情報をこのシートから 2 番目のシート (New & Exst Dasbrd-Bckup という名前) に取得しています。

=SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2)+SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$3)

この数式は、A74 (Route = CCS) の条件に一致する値を探し、タイプが「新規」(E2) または「既存」(E3) である 8 月の収益 (列 CC にある) の値を合計します。 .

このデータをさまざまな月についてまとめたら、グラフを作成できるダッシュボードができました。必要な月 (1 月 - 12 月) を選択するためのプルダウン メニューがあり、2 番目のシートを使用して、次の式を使用してドロップダウンの選択に基づいてセルに入力します。

=HLOOKUP($A$11,'New & Exst Dshbrd-Bckup'!$B$74:$M$77,3,FALSE)

A11 がドロップダウンの選択肢 (1 月から 8 月) である場合、範囲は最初の値のセットが配置される場所であり、3 は前の数式の値を含む行です。これを単一の式で達成し、中間シートをスキップできることを本当に望んでいます.

TL DR; ドロップダウン メニュー (A11) から月を選択すると、その文字列 (8 月、10 月など) と指定した別の文字列 (「2013」など) を列で検索する単一の形式が必要です。ヘッダー (1:1)。これらの 2 つの文字列を含む列が見つかったら、その列を検索し、指定された Route (A74 = CCS に記載) を持ち、正しい Type 値 (E2 と E3 で指定) を持つすべての値を合計します。 - New and Exist) を取得し、その値を返します

私はいくつかの異なることを試しましたが、これは私の能力を少し超えているのではないかと心配しています. どんな助けでも心から感謝します。

4

2 に答える 2

1

まず、このような単一のSUMIFSを使用して、最初の式を簡素化できます

=SUMPRODUCT(SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2:$E$3))

ここで、月と年に基づいて動的に合計する列を作成する必要があるだけなので、合計列が A と CZ の間のどこかにあると仮定するとINDEX/MATCH、その部分で関数を使用できます。

=SUMPRODUCT(SUMIFS(INDEX('Program Data'!A:CZ,0,MATCH("*"&A11&" "&A12&"*",A1:CZ1,0)),'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2:$E$3))

A12 には年が含まれます

注:SUMPRODUCTここでは 2 つの値を追加するためにのみ使用されます。SUMIFS基準の 1 つが 2 つのセル範囲であるため、'Program Data'!$E$2:$E$3SUMIFSは 2 要素の配列を返します。式の大変な作業のほとんどは によって行われSUMIFSます。これは、SUMIFS が他のどの多条件加算関数よりも高速であるため、意図的なものです。

于 2013-10-28T14:42:40.450 に答える
1

バリーが私を打ち負かしたように見えます。これが私の見解です。Barrys式の方がINDEX/MATCHを使った方が良いと思いますが、SUMIFは不要です。

    Col D   E       F       G               H               I                   J
Row                             
9       ID  Type    Route   RevACT Aug 2013 RevBGT Aug 2014 RevACT Sept 2013    RevBGT Sept 2014
10      250 New     CCS     1000            500             500                 250
11      310 Deep    RCS     750             150             650                 1500
12      15  Exist   CCS     250             1000            350                 2000
13                              
14      Route   RCS             Answer  650
15      Month   RevACT Sept 2013                Formula =SUMPRODUCT(--(F10:F12=$E$14),INDIRECT(VLOOKUP($E$15,{"RevACT Aug 2013","G";"RevBGT Aug 2014","H";"RevACT Sept 2013","I";"RevBGT Sept 2014","J"},2,0)&"10:"&VLOOKUP($E$15,{"RevACT Aug 2013","G";"RevBGT Aug 2014","H";"RevACT Sept 2013","I";"RevBGT Sept 2014","J"},2,0)&"12"))

SUMPRODUCT の最初の引数を囲む二重マイナスと括弧に注意してください。これは、乗算のために TRUE / FALSE 評価を 1 / 0 に変換します。

また、構文は、システム区切り文字などに応じて、VLOOKUP 内の配列引数によって異なる場合があります。

これを解決する別の方法は、配列数式にストレートに移行することですが、結果は基本的に与えられたソリューションと同じになります。

よろしく、

于 2013-10-28T14:51:44.140 に答える