[[20150323151448]] 『dcout関数の引き算』(ピンク) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『dcout関数の引き算』(ピンク)

A〜C列には元となるデータが入っています
E7〜F8には、E列に部と課、F列には部(3ケタ)と課(5ケタ)のコード記入箇所

H7〜M7には、DCOUNT($A$1:$C$2000,3,$H$2:$J$3)
↑dcountのデータベースとフィールドは全部一緒ですが、
 dcountの条件箇所のみ、『H2:J3とL2:O3と…』6つの条件を作って入れています。

部と課のコードの記入箇所に該当の部と課のコードを記入すると、H7〜M7に計算結果が出る
ようになっています

しかし、ある部だけの課のコードの1つだけを含めずに計算したいのですが
(例えば、部のコード123の中に課のコード”12345と12366と12377”があるが
 12377だけを含めない)

dcount関数から課のコードの一部だけを引き算するなんてことはできないのでしょうか?

< 使用 Excel:Excel2007、使用 OS:Windows7 >


レイアウトがピンときませんが、F列が「12312377」なものを別途カウントし、これを引いてはいかがでしょう?(先頭「123」(部)の部分は、部コードから得る)
(???) 2015/03/23(月) 16:08

 >dcount関数から課のコードの一部だけを引き算するなんてことはできないのでしょうか? 

 条件を「部コードが123 且つ 課コードは特定のものではない」とすれば、除外されると思うのですけど。。

(半平太) 2015/03/23(月) 16:26


 > 12377だけを含めない
  
 上3桁の「123」は部コードですよね?
 つまり「123」の部以外に「12377」という課コードを持つ部はないということですよね?

 条件に「12377以外」というのを追加すればいいと思いますよ。

 K2: =F1    F列の見出しにする。
 K3: <>12377  ←12377以外という意味

 DCOUNTは、データベース範囲をF列まで広げ、K2:K3を条件に加えます。

 =DCOUNT($A$1:$F$2000,3,$H$2:$K$3)
 
(JKT) 2015/03/23(月) 16:31

 ↑ と思ったんですが、違うみたいですね。

 > E7〜F8には、E列に部と課、F列には部(3ケタ)と課(5ケタ)のコード記入箇所

 これどういうことですか?

 簡単なサンプルを提示してもらえますか?
  
 A列〜C列はどんなデータなのか、E7〜F8には何を入力して、条件のH2〜J3には何が入力されているのか、
 これがわかるような具体的なものをお願いします。
 
(JKT) 2015/03/23(月) 16:45

  A  B  C  D  E  F  G
  部  課  値
1 123 12345 −5
2 456 45678 10
3 123 12355 30
4 789 78900 5
5 456 45655 7
6 123 12333 50
7 789 78902 4      部  123  
8 123 12355 20      課  12355
9  :   :   :

H7 DCOUNT($A$1:$C$2000,3,$H$2:$J$3)
I7 DCOUNT($A$1:$C$2000,3,$L$2:$O$3)
J7  DCOUNT($A$1:$C$2000,3,$Q$2:$T$3)
:
M7

という感じで、部と課のコードを入れるとH7〜M7に計算結果が表示されます。
そこに、部の123を選択すると課の12355も含まれるので、除外したいです。

(ピンク) 2015/03/23(月) 23:00


みなさん、さっそくのお答えありがとうございます。
説明下手で、すみません。

???さま、似たような事はしてみたのですが、できませんでした。私のやり方が悪かったかもですが。

半平太さま、課コードは特定のものではない。とは、どういう風にすればよいのでしょうか?

JKTさま、簡単なの書いてみました。よろしくお願いします
(ピンク) 2015/03/23(月) 23:03


H3はセルF7を参照
I3はセルF8を参照
J3は<0

L3はセルF7を参照
M3はセルF8を参照
N3は>0
O3は<3
     :
とdcountの条件のデータを入れてます。
(ピンク) 2015/03/24(火) 07:26


3つのDCOUNTの条件($H$2:$J$3、$L$2:$O$3、$Q$2:$T$3)に入っている数値または式を、全て書いてください。
クイズみたいな書き方をされてもさっぱりですし、情報不足です。

> H3はセルF7を参照
> I3はセルF8を参照
> J3は<0

> L3はセルF7を参照
> M3はセルF8を参照
> N3は>0
> O3は<3

これも意味不明。H3は「=F3」という数式? ではF7には何が入っているのです?
J3は、「<0」という文字列? 不等号は全角なんですか? 全て正確にお願いします。
(???) 2015/03/24(火) 09:48


 横から失礼します。
 合っているかどうかわかりませんが、こういうことですかね?

 	A	B	C	D	E	F	G	H	I	J
 1	部	課	値							
 2	123	12345	-5					部	課	値
 3	456	45678	10					123	<>12355	<0
 4	123	12355	30							
 5	789	78900	5							
 6	456	45655	7							
 7	123	12333	50							
 8	789	78902	4		部	123				
 9	123	12355	20		課	12355				

 たとえば部123で課12355を含めたくない時
 I3セル =IF(AND(F8=123,F9=12355),"<>"&F9,F9)
(se_9) 2015/03/24(火) 09:49

 よくわからないところがあるので、はっきりとはお答えできません。
 基本的には最初に回答したように「除外したいコード以外」という条件を加えればいいと思います。

 ただし条件セルを追加しなくても、
 I3などF8を参照しているセルの数式を変更するだけでいけるかもしれません。

 除外したい課コードが最初の質問では「12377」、補足説明では「12355」になっていますが、
「12355」だとして話を進めますね。

 ・課コード「12355」は「123」の部以外には存在しない
 ・F7の部コードだけを指定して、F8(課コード)には何も入力しない場合がある

 上記の通りだとして、I3セル(M3セルなども)を 
 =IF(F8="","<>12355",F8)  ←でどうなるか試してみてください。
 
 
 ■F7とF8の疑問点について
 ここは部と課のコード両方を必ず入力するというわけではないですよね?
 課コードも必ず入力するんだったら除外したいコードを指定しなければいいだけですからね。

 現状ではF8を参照しているI3等にはどんな式を入れてますか?
 =F8 だけだったら、F8に何も入力しない場合「0」になってしまいますよね。

 それとも、もしかしてF8は「除外したいコード」を指定するということですか?
 そうだとするとこれまでの説明と合わないと思うんですが・・・
 
 現状は ↓ ですよね。
 > 部と課のコードの記入箇所に該当の部と課のコードを記入すると、
 > H7〜M7に計算結果が出るようになっています 
  
(JKT) 2015/03/24(火) 10:12

 > dcount関数から課のコードの一部だけを引き算する

 この表現からしても、F8には何も入力せず、
 F7の部のコードだけを指定する場合(部全体の個数を求めること)があるということになりますよね。

 一応書いておきますと、除外したい課のコード「12355」が「123」の部以外にもある場合、
(サンプルを見る限り、とてもそのようには思えませんが・・・)

 I3: =IF(F8>0,F8,IF(F7=123,"<>12355",">0"))   F8を参照しているM3セル等も同じ
 
「123」以外にない場合は既に回答した通り
 > =IF(F8="","<>12355",F8)

 I3: =IF(F8>0,F8,"<>12355")  でもいいです。
 
 上記いずれも、部全体の個数を求める場合は、F8には何も入力しないということです。
 
 
 ■F7とF8の疑問点の追加
 F8の課コードだけを指定して、F7の部コードを省略するということはありますか?
 もし課コードだけで部を識別できるのなら、部コードを入力する必要はないですよね。

 ちなみにF7とF8は手入力ですか、それともドロップダウンリストから選択とかですか?
 
(JKT) 2015/03/24(火) 13:39

先ほど、アップしたつもりがされていませんでした。

 	A	B	C	D	E	F	G	H	I	J
 1	部	課	値							
 2	123	12345	-5					部	課	値
 3	456	45678	10					123	<>12355	<0
 4	123	12355	30							
 5	789	78900	3							
 6	456	45655	7                     0より小  0〜3  	
 7	123	12333	50		部	123	    1 	1	
 8	789	78902	4		課	12355				
 9	123	12355	20	

H7のセルに数式「DCOUNT($A$1:$C$2000,3,$H$2:$J$3)
I7のセルに数式「=DCOUNT($A$1:$C$2000,3,$L$2:$O$3)
上記表のH7&I7には、上記表のA〜C列の表をもとに、数式の結果を記入しています。
(ピンク) 2015/03/24(火) 15:15


>たとえば部123で課12355を含めたくない時
  I3セル =IF(AND(F8=123,F9=12355),"<>"&F9,F9)

できませんでした(:_;)

>・課コード「12355」は「123」の部以外には存在しない

  ・F7の部コードだけを指定して、F8(課コード)には何も入力しない場合がある

 いろいろ条件追加きまして、

 ・課コード「12355」は「123」の部以外には存在しない
 ・F7の部コードを指定して、F8(課コード)に除外したい「12355」を入力したい
 ・I3&M3…に「<>12355」と条件入れた結果を『H7 I7…』に「123」の部コードの「12355」のみの課コードを除外した件数結果を反映したいです。

> ■F7とF8の疑問点の追加

 F8の課コードだけを指定して、F7の部コードを省略するということはありますか?
   現状は、「ありません」
 もし課コードだけで部を識別できるのなら、部コードを入力する必要はないですよね。
   現状は、「部コードを選択すると12355のみを含めない件数結果を反映したい」のです(>_<)

 ちなみにF7とF8は手入力ですか、それともドロップダウンリストから選択とかですか?
   現状は、「手入力です」
 

(ピンク) 2015/03/24(火) 15:24


 > 課コード「12355」は「123」の部以外には存在しない
 > F7の部コードを指定して、F8(課コード)に除外したい「12355」を入力したい
 > 部コードを選択すると12355のみを含めない件数結果を反映したい

 以下の疑問にお答え下さい。

 1. 除外するのは「12355」だけですか?
 「12355」だけと決まっているのならF8に「12355」を入力する必要はないと思うんですが、
  何のために入力するんですか?
  F7に「123」と入力して、F8には何も入力しない、でいいのではありませんか?
 
 2.「12355」以外の課コードを入力した場合はどうなればいいんですか?

 3.「123」以外の部で「部全体の個数」を求めたい場合は、F8はどうするんですか?
  それとも「部全体の個数」を求めるのは「123」だけなんですか?

 4. サンプルデータで、I7セルの件数結果「1」となっていますが、どれが該当するんですか?

 > I3セル =IF(AND(F8=123,F9=12355),"<>"&F9,F9)
 > できませんでした(:_;) 

 5. F8 → F7、F9 → F8 だと思いますが、そこは修正しましたか?
  できなかったというのは具体的にどんな結果になったんですか?
 
(JKT) 2015/03/24(火) 17:22

1.除外するのは「12355」だけです。
 入力するのは、そちらのファイルを扱うのが私じゃなくなるので、コードを目に見えるようにして分かりやすくしたほうがいいかと思ったので。なので、絶対入らなければいけない。というわけではありません。
F7に「123」と入力してF8には何も入力せずに、H7に部の「123」から課の「12355」のみが除外された件数が出ればいいので。 

2.こちらの分は、シートを分けてその部のシート専用にしていますので、その条件は今のところ気にしなくて大丈夫です。

3.別シートに作ってあります。そちらの方に、部全体のみと部と課のセットでも結果が出るようにしています。

4.サンプルデータは、A1:C9に書いているサンプルデータの中身の計算結果です。

5.修正しました。結果は…他にもいろいろしてみたので、そちらではどうなったか、はっきり覚えてないので、明日また会社でしてみて結果を言います。

(ピンク) 2015/03/24(火) 23:04


本当に説明下手で、ご迷惑おかけしてすみません。

よろしくお願いします。

(ピンク) 2015/03/24(火) 23:05


 > F7に「123」と入力してF8には何も入力せずに、
 > H7に部の「123」から課の「12355」のみが除外された件数が出ればいいので。

 それは既に回答しています。
 読んでくれてないのでしょうか?
 
「123」の部以外に「12355」の課コードがないのなら
 I3セル他に =IF(F8="","<>12355",F8)
 
 
 > 2.こちらの分は、シートを分けてその部のシート専用にしていますので、その条件は今のところ気にしなくて大丈夫です。

 どういうことでしょうか?

 F7に「123」F8に「12345」、F7に「456」F8に「45678」というように
 F8に「12355」以外のコードを入力した場合どうなればいいんですか、という質問です。

 F8に入力するのはすべて「除外するコード」と解釈できないこともなかったので、だとすると
「12345」だけを除いた「123」の件数、
「45678」だけを除いた「456」の件数になるのかなと思ったんですが、
 除外するコードが「12355」だけならそういうことではないですよね。
 
「12345」だけの件数、「45678」だけの件数が出ればいいんですか?
 それともそんなものは入力しないということなんですか?
 
 
 > 3.別シートに作ってあります。そちらの方に、部全体のみと部と課のセットでも結果が出るようにしています。 

 これもどういうことでしょうか?

 でしたら「12355」だけを除く「123」の件数もその別シートでやればいいと思うんですが、それは別ですか?
 
「部全体」も「部と課」のセットもすべて別シートなら、いま問題になっているシートではいったい何をするんですか?
 まさか 『「12355」だけを除く「123」の件数』 だけわかればいいということではないですよね?
 
 
 > 4.サンプルデータは、A1:C9に書いているサンプルデータの中身の計算結果です。

 そのサンプルデータの計算結果が下のようになってますよね?
「2015/03/24(火) 15:15」にある表のことです。 

 >  0より小  0〜3
 >  1     1	

 この 0〜3 の「1件」は、2行目から9行目のデータのどれのことですか、という質問です。

 ちなみにこの「0〜3」というのは、現状の条件では「0」と「3」は含みませんが、それでいいんですか?
 
(JKT) 2015/03/25(水) 01:49

>それは既に回答しています。
 読んでくれてないのでしょうか?
 
「123」の部以外に「12355」の課コードがないのなら
 I3セル他に =IF(F8="","<>12355",F8)
 
結果が「12355」が除外されない結果になります。

>まさか 『「12355」だけを除く「123」の件数』 だけわかればいいということではないですよね?

はじめは、一緒にしようと思って「12355」のみ引き算でできないかと思ったのですが、ほかの部も条件分岐がいろいろあり、細かい条件付きは専用シートを作成しました。
なので、今は、そのまさかです。
   =IF($F$8="","<>12355",$F$8)
結果が「12355」が除外されない結果になります。
直接、H3に「123」 I3に「<>12355」を入れても除外されない結果になりました。

 0より小  0〜3  1     1

>この 0〜3 の「1件」は、2行目から9行目のデータのどれのことですか、という質問です。

  こちらの質問に対して、『C5の「3」のデータのことです』

 ちなみにこの「0〜3」というのは、現状の条件では「0」と「3」は含みませんが、それでいいんですか?
   こちらの質問に対して、『0と3は入ります。0以上3以下です。』

わかりやすくしたつもりが本当に、わかりづらいみたいですみません。><

(ピンク) 2015/03/25(水) 08:45


 > なので、今は、そのまさかです。

 終盤に来てこれまでの世界観が一気にひっくり返る超ド級の大どんでん返し!!!という感じです。
 
 > 0と3は入ります。0以上3以下です。

 まずこれから。

 現在のN3セルとO3セルの条件は
 N3: >0
 O3: <3
 これでしょ? これだと「0」と「3」は含みません。
 
「0以上3以下」にしたいんだったら
 N3: >=0
 O3: <=3

 このように修正したとして
 > こちらの質問に対して、『C5の「3」のデータのことです』
 なぜこうなるんですか?
 5行目は部が「789」という時点で条件に一致していません。

 なぜこれが該当すると思うのか、それに対して納得のいく説明をしてもらわないと、
 この質問は永遠に平行線ですね。
 
(JKT) 2015/03/25(水) 11:51

「0以上3以下」にしたいんだったら
  N3: >=0
  O3: <=3
こちらの条件で入れています。

>こちらの質問に対して、『C5の「3」のデータのことです』

 なぜこうなるんですか?
 5行目は部が「789」という時点で条件に一致していません

私の見間違いでした。「123」と勘違いしていました…すみません。
(ピンク) 2015/03/25(水) 13:08


	A	B	C
1	部	課	値
2	123	12345	-5
3	456	45678	10
4	123	12355	30   ←(部が「123」で、値が「0より大きい」もの)
5	789	78900	3
6	456	45655	7
7	123	12333	50   ←(  同 上  )
8	789	78902	4
9	123	12355	20   ←(  同 上  )

	H	I	J
2	部	課	値
3	123	<>12355	>0   ← J3は変更しました
 
 
 条件は固定なんですから、H3とI3には直接入力してください。
 データを変更するのが面倒なので、J3の条件を >0 にしました。

 =DCOUNT($A$1:$C$2000,3,$H$2:$J$3)

 結果は「1」になります。
 B9の「12355」を他のものに変更すると「2」になります。
 つまり「12355」が除外されているということです。

 そちらでは「3」になるということですか?
 上のサンプルデータで試しましたか?
 B列のコードを文字列にしてるなんてことはないでしょうね?

 E列が空いていたら、E2に =TYPE(B2) と入れてE9までコピーしてみてください。
 全部「1」になりますか?
 
 
 > N3: >=0
 > O3: <=3
 > こちらの条件で入れています。

 ↓ は何だったんですか?

 > N3は>0 
 > O3は<3
 > とdcountの条件のデータを入れてます。 
 >(ピンク) 2015/03/24(火) 07:26 
 
(JKT) 2015/03/25(水) 17:52

JKT様

理解力のない、あげく、きちんと説明もできない、エクセルも初心者の私に最後まで根気よく教えてくださってありがとうございます。

>B列のコードを文字列にしてるなんてことはないでしょうね?
 …なってました。すみません。今までほかのはきちんと反映された結果が出ていましたので大丈夫なのだと思ってました。
本当に、申し訳ありません。

心配なので部も課のコードもすべて、数値にしました。そうしますと、

>条件は固定なんですから、H3とI3には直接入力してください。
 こちらも文字列になっていたときは、同じことをしても反映されなかったのに、されました。
 

大変、ご迷惑をおかけしました。本当に本当にありがとうございました<m(__)m>

(ピンク) 2015/03/26(木) 08:42


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.