プロが教える店舗&オフィスのセキュリティ対策術

 2週間程度考えたんですが自分ではどうしようもなく皆さんの力を貸してください。

今book1とBOOK2があり…

BOOK1には、A列に担当者、B列に売上数が次のようにあります。
A1…田中A  B1…10
A2…山田B  B2…20
A3…鈴木B  B3…10
※担当者名の尾には部署である記号(アルファベット)があります。また実際データはもっと大量に有ります。

次にBOOK2のA列には次のようにあります。
A1…A部署  B1…
A2…B部署  B2…

 このようなケースにおいてBOOK2のB1、B2に、A部署としての総売上数、B部署としての総売上数をそれぞれ出したいのです。困っているのは、A1にある"A部署"という文字やA2にある"B部署"という文字は、時々入れ替わったり、なくなったり、新たにC部署が増えたりするんです。その時でも、常にB列には適切な売上数をあげたいのです。B列に組む関数としてもっともふさわしい組み方が分かりません^^;

※私がつまずいている点
1…BOOKは2つあり、別BOOK1にあるデータをBOOK2へ集 計するのでSUMIF関数では#VALUE!エラーがでて使えない。(もし使えると簡単にできる、検索条件にワイルドカード(*A)を使って…)

2…SUMとIF関数を組み合わせて出来そうだけど…なかなかできない。〇| ̄|_
IF関数では論理式の部分で、ワイルドカードが使えない?ので・・・


ほんとに困っています。^^;みなさんの知恵を貸してくださいm(_ _)mよろしくお願い致します。  

A 回答 (6件)

訂正



誤:=SUM(IF(RIGHT([Book1.xls]Sheet1!$A1:$A10,1)="a",[Book1.xls]Sheet1'!$B1:$B10))
正:=SUM(IF(RIGHT([Book1.xls]Sheet1!$A1:$A10,1)="A",[Book1.xls]Sheet1'!$B1:$B10))

担当者の末尾の部署記号は大文字でしたね(^^;

蛇足ですが
http://support.microsoft.com/?scid=kb;ja;260415& …
SUMIF関数が閉じられている別ブックを参照した時に#VALUE!になるのは、問題点と認めているようです。

参考URL:http://support.microsoft.com/?scid=kb;ja;260415& …
    • good
    • 0

Book2.xlsの集計したいセルに計算式として


=SUM(IF(RIGHT([Book1.xls]Sheet1!$A1:$A10,1)="a",[Book1.xls]Sheet1'!$B1:$B10))
と入力してから
「CTRL+SHIFT+ENTERを押して」 ←ここが大事
式を確定して下さい。

これで
>BOOKは2つあり、別BOOK1にあるデータをBOOK2へ集 計するのでSUMIF関数では#VALUE!エラーがでて使えない。
>SUMとIF関数を組み合わせて出来そうだけど…なかなかできない。
の2つがクリア出来ます。
    • good
    • 0
この回答へのお礼

おぉ~~なるほど~一気に仕事が解決しました!!!
すごく助かります^^
今まで悩んでいたのが、今解決してすごく爽快です!!!
ほんとにありがとうございます!!
私の下手な質問を的確に理解して、シンプルかつ最適な回答方法(関数の組み方)を提示していただき本当に感謝します。私もエクセルはかなり使いこんでいるつもりですが、やっぱりまだまだですね^^;
もっと勉強します!ほんとにありがとうございました!もし、また力をお借りするときがあったら、宜しくお願いいたします!今回は本当にありがとうございました<(__)>

お礼日時:2006/02/05 13:26

=SUMIF([BOOK2.xls]Sheet1!A:A,"*A",[BOOK2.xls]Sheet1!B:B)


=SUMIF([BOOK2.xls]Sheet1!A:A,"*B",[BOOK2.xls]Sheet1!B:B)
ですね。SUMIF関数ならワイルドカードが使用できます。
一応別の方法
=SUMPRODUCT(RIGHT([BOOK2.xls]Sheet1!$A$1:$A$10,1)="A")*([BOOK2.xls]Sheet1!$B$1:$B$10))
    • good
    • 0
この回答へのお礼

SUMIFは使えないんですよ・・・そこが厄介なんですよね^^;
http://support.microsoft.com/?scid=kb;ja;260415& …

お礼日時:2006/02/05 13:19

BOOK1の名前と部署を分けて考えれば簡単になりますよ。


(分ける事が出来ない事情があるのでしたら、これを手掛かりに)

[book1]
[A][B][C]
1営業部署売り上げ
2田中A10
3山田B20
4鈴木B10

[book2]
[A][B]
1部署売上合計
2A部署=SUMIF([Book1]Sheet1!$B$2:$B$4,"=A",[Book1]Sheet1!$C$2:$C$4)
3B部署=SUMIF([Book1]Sheet1!$B$2:$B$4,"=B",[Book1]Sheet1!$C$2:$C$4)


なんて如何でしょうか。
    • good
    • 0
この回答へのお礼

SUMIFはどうしても使えないんですよね^^;その場合は・・・Book1を閉じたとたんに、エラー値になります。
http://support.microsoft.com/?scid=kb;ja;260415& …

お礼日時:2006/02/05 13:18

データ管理上や、正規化という考え方や、処理の簡略化、さらには見栄えなどの点で、"氏名+部署"という形式のデータを持つ利点がいまひとつ理解できません。



部署、氏名、売り上げ数
と、列を分けて管理する方法では不都合があるのでしょうか?
    • good
    • 0
この回答へのお礼

おっしゃるとおりです^^;
しかし、ほんとはもっと複雑なデータで、質問例はすごく簡単にしているんです^^;
ありがとうございました<(__)>

お礼日時:2006/02/05 13:15

SUMIFでできそうですよ。



(例)aaa.xlsはBOOK1を想定、BOOK2のB1に次の関数を設定、下方向にコピーして下さい。
=SUMIF(([aaa.xls]Sheet1!$A$1:$A$10),"*"&LEFT(A1,1),[aaa.xls]Sheet1!$B$1:$B$10)
    • good
    • 0
この回答へのお礼

そうですね。確かにそうですが・・・
その場合、aaa.xlsを閉じてると、どうしてもエラーになるんですよね^^;

お礼日時:2006/02/05 13:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!