CountIf() - 異なるワークブックからのデータ

CountIf() - 異なるワークブックからのデータ

次のようにレイアウトされた 2 つの別々のワークブックからデータを取得しようとしています。

picker  | lines
--------+------
zf      |    4
ag      |   22
jw      |    8
zf      |    7
cr      |   39
ag      |   10
ag      |   16
ag      |    1
cr      |    4
ag      |    2

...そして、イニシャルが出現する回数を数えて、まったく別のワークブックにまとめます。これが私がこれまでに作成した式です:

=COUNTIF('\\Shipping\C\Agri-Pet Log\2013\November\December\[December 3, 2013.xls]Ag & Pet Shipping'!$B$4:$B$200,"CR")+COUNTIF('\\Foodcomp\c\Dog Food Log\2013\December\[(df) December 3, 2013.xls]Dog Food'!$B$4:$B$300,"CR")

これは、元のワークブックがコンピューター上で開いている間はうまく機能しますが、閉じている場合は、 のみが表示されます#VALUE。理想的には、頭文字に関連付けられた数字を隣のセルに合計する機能も欲しいのですが、一度に 1 つずつです。

答え1

関数COUNTIF/SUMIF群は閉じたワークブックでは動作しません。SUMPRODUCTたとえば、1つのワークブックでカウントを複製するには、を試してください。

=SUMPRODUCT(('\\Shipping\C\Agri-Pet Log\2013\November\December\[December 3, 2013.xls]Ag & Pet Shipping'!$B$4:$B$200="CR")+0)

B = "CR"の場合、列Cの合計を取得します。

=SUMPRODUCT(('\\Shipping\C\Agri-Pet Log\2013\November\December\[December 3, 2013.xls]Ag & Pet Shipping'!$B$4:$B$200="CR")+0,'\\Shipping\C\Agri-Pet Log\2013\November\December\[December 3, 2013.xls]Ag & Pet Shipping'!$C$4:$C$200)

答え2

複数の閉じたワークブックから情報を集約したい場合、1つの方法はマイクロソフトPowerQueryこれは、他のワークブックを含む多くのソースからの情報のクエリ、フィルタリング、集計が可能な Excel 用のビジネス インテリジェンス アドインです。

理解するのは少々大変ですが、無料で、Microsoft によって完全にサポートされています。ほとんどの操作を実行するためにコーディングを学ぶ必要はありません。

きっとあなたの望みが叶うはずです。

唯一注意しなければならないのは、他のユーザーがワークブックを開くことです。これによりワークブックがロックされ、クエリが失敗します。このような状況が発生した場合は、ワークブックが閉じられるまで待ってから、クエリを更新する必要があります。

関連情報