アプリ版:「スタンプのみでお礼する」機能のリリースについて

2つ以上の条件を満たす個数を数えたいのですがうまくいきません。
例えば

  A列    B列   C列
1 りんご  トマト  赤色
2 りんご  きゅうり 緑色
3 りんご  きゅうり 赤色
4 ぶどう  トマト  赤色
5 ぶどう  きゅうり 緑色
6 りんご  トマト  緑色
7 ぶどう  きゅうり 赤色

という表があった時に、「りんご」でもあり「トマト」でもある数は
1行目と6行目の2個である、という計算です。
また同様に、「ぶどう」でも「トマト」でも「赤色」でもある、等
条件が3つになる場合もあります。
COUNTIF関数で出るかと思いましたが、それぞれの列の個数は求められても
2列以上条件をつけるやり方がわかりません。

よろしくお願いします。

A 回答 (14件中1~10件)

関数ではありませんが、こんなやり方はどうでしょう。



○一番左にCOUNTを計算するために「1」を入力したフラグをたてる
○オートフィルタを設定し、個数を計算したい条件を順に選択していく
○選択した条件のみが表示されたら、「1」を入力したフラグの下にSUM関数を設定する

これなら複数の条件でも、何度でも個数計算できると思います。

この回答への補足

ありがとうございます。
ちょっと説明不足でした(汗)
実は、最初オートフィルタで計算して書き写していたのですが、何度も同じ様式を作る必要があるので、もっと簡単にできたらと思ったのです。

実は、sheet1にある一覧表があり、これにデータが20列300行ほどあります。
で、sheet2に、sheet1から抽出したデータの個数等を会議資料用に簡略にまとめたものを作りたいのです。
同じ様式で、2~3カ月に1度作成しなければならないので、sheet1のデータをもとに計算されたセルを、資料様式を作ったSheet2のそれぞれのセルにリンクさせたいと思います。

またsheet1のデータは、変更が生じます。(りんご→ぶどうになったり、赤色→緑色になったり)

説明下手で申し訳ありません。
要は元データの修正をすれば、すべての計算式にすぐ反映するようにしたいのですが、できるでしょうか?
どうぞ、よろしくお願いします。

補足日時:2001/05/25 16:49
    • good
    • 0

accessを使うと、簡単ですよ。

この回答への補足

実は、最初アクセスに挑戦していたのですが・、初心者なもので
アクセスの機能そのものが使いこなせなくて、やっぱりエクセルで・・・となった次第です。
でも、アドバイスありがとうございました!

補足日時:2001/05/25 17:00
    • good
    • 0

A列の条件をA9、B列の条件をB9、C列の条件をC9に設定するものとして


D1に以下の内容を入力し、上の例の場合でしたらそれをD7までコピーし
"=sum(D1:D7)" として個数を求めては?
(各列の条件がない場合にはA9等をブランクにします。)

=IF(ISBLANK($A$9),1,A1=$A$9)*IF(ISBLANK($B$9),1,B1=$B$9)*IF(ISBLANK($C$9),1,C1=$C$9)

この回答への補足

ありがとうございます!
やってみましたら、個数が出ました!
ただ、なぜ答えがでたのか、よくわかっていません(汗)
ISBLANKは、空白セルを返す関数…ですよね?
…すみません、勉強します。

今回、1sheetのデータから、4種類くらいの条件を組み合わせること、
条件そのものが1列の中に多数あること
また、その条件を指定する列に空白のセルを持つ列などが混在しており
複雑さに頭を痛めていますが、空白セルを持つ列でも、同じように
条件指定できるのでしょうか?

よろしければ教えてください。

補足日時:2001/05/26 01:09
    • good
    • 0

1  A列    B列   C列


2 りんご  トマト  赤色
3
4  A列    B列   C列
5 りんご  トマト  赤色
6 りんご  きゅうり 緑色
7 りんご  きゅうり 赤色
8 ぶどう  トマト  赤色
9 ぶどう  きゅうり 緑色
10 りんご  トマト  緑色
11 ぶどう  きゅうり 赤色

として(A2、B2、C2は条件指定セル)
適当なセルに =DCOUNTA(A4:C11,1,A1:C2)

「りんご」でもあり「トマト」でもあるという場合は
A2に「りんご」 B2に「トマト」 C2に「*」

詳しくはヘルプのDCOUNTAを。
    • good
    • 0

No.1のsydneyhです。

補足に対してお応えします。

やはりこの場合、No.2の方の言う通りAccessを使うと簡単に楽に作成できるでしょう。Accessは何もそんなに難しくありません。この計算の場合Excelとあまり違いはありません。

やり方を細かく説明するととんでもなく文字数を使いそうなので簡単に言います。○Excelから該当の表があるファイルをAccessへインポートし、一つの「テーブル」を作ります。
○それを会議用に使いやすくするため、更に「クエリ」として抽出すると、テーブルとクエリはリンクされていますので、テーブルが常に更新しても、それがクエリ上に反映されます。
※インポートする時にExcelとリンクさせるというのを選択すると、通常はExcelで入力し、その会議用資料をつくる時のみAccessで加工するというやり方もできます。

Excelの方が使い慣れていて利用したくなる気持ちも分かりますが、業務を早く楽にするためには、少しの努力が必要だと思います。何よりこれからいくらでも応用がきくようになるでしょう。vie511さんのスキルもアップしますよ。

至急やらなくてはいけない作業でもないようですし、上記に述べたやり方はどのマニュアル本でも詳しく載っていますので、確認してぜひ試してみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
多量のデータ処理にはAccessの方が向いている、というのはわかっているのですが
ついつい手が出ずじまいになってました。
今回の作業も、この機会にAccessへの移行も視野に入れて考えてみます。
クエリのデザイン(という言い方でいいのかな)というか、
データとテーブル同士のリンク等の仕方で挫折していたのですが、
もう1度勉強してみます。

アドバイス、本当にありがとうございました。

お礼日時:2001/05/26 01:30

こんにちは


DCOUNTA関数を使ってみるとよいのではないでしょうか?
フィールド名を1行目につける必要がありますが・・・。
たとえば

   A    B    C    D    E
  種類1  種類2   色

1 りんご  トマト  赤色   種類1  種類2   
2 りんご  きゅうり 緑色   りんご  トマト
3 りんご  きゅうり 赤色
4 ぶどう  トマト  赤色
5 ぶどう  きゅうり 緑色
6 りんご  トマト  緑色
7 ぶどう  きゅうり 赤色

としておきます。
DCOUTA(A1:C7,C1,D1:E2)と式を立てます。式の意味は、“A1からC7の表でD1からE2の条件を満たす色フィールドの個数を数えなさい”という意味です。D1からE2の部分のように条件を指定してあげるのがポイントのようです。
説明が下手ですみません。
もしできなかったらごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございます!
出来ました!
式の意味も、よくわかりました。
と、感動したのですが、実は参照するデータの中には、空白のセルを含む列もあるのです。
そして、複数の条件のうち、空白であることが条件のひとつであるものもあるのですが…
条件が空白では無理…ですよね。
種類1が「りんご」で、種類2は「空白」で「赤色」のもの…というような。

もしよろしければ、アドバイスお願いします。

ありがとうございました。

お礼日時:2001/05/26 01:56

>sheet2に、sheet1から抽出したデータの個数等を会議資料用


sheet2に個数を表示したいのであれば
sheet2の適当なセルに =DCOUNTA(Sheet1!A1:C8,1,A1:C2)
抽出される元データの範囲がSheet1!A1:C8
条件指定のセル範囲がA1:C2(sheet2)
    • good
    • 0

補足


No.7はNo.4で書いた条件指定のセル(1行目と2行目)をシート2に作って
抽出元データ(4行目から11行目)を1行目から8行目に変更しての事です。

Sheet1!A1:C8,1,A1:C2
↑の1というのは元データの1列目をカウントするという事です。
(2列目なら2・・適当に変更してください)

>元データの修正をすれば、すべての計算式にすぐ反映するようにしたいのですが、できるでしょうか?
「りんご」でもあり「トマト」や「ぶどう」でも「トマト」でも「赤色」という風に種類が複数の場合
なら一々条件を指定しなおすのは面倒なので
条件指定のセル(1行目と2行目)を複数作ってDCOUNTA関数でそれぞれの個数を求めてシート2
のセルから参照させるかシート2に作れば良いのでは?

この回答への補足

まとめてこちらへのお礼で申し訳ありません。
すごく参考になりました。ありがとうございました。

そうですね、データ入力している1枚目のシートに条件等多数作るのも
作業がしにくいですね。
sheet2に条件だけわけてしまえば、見た目もわかりやすくなるし。

DCOUNTA関数で、かなりの問題は解決したのですが、もうひとつよろしいでしょうか?

一覧から2つの条件から抽出したものから、ある条件のもの引いた数を求めたいのですが。
#「りんご」で「トマト」の条件にあったもので「赤色」以外のもの。
#ただし、「色」について入力してあるセルはまばらであり(空白セルがある)、
#「りんご」で「トマト」でも色が空白のものは含めない。

Sheet2に条件を入力するとして、
 A1    B1    C1
りんご  トマト
りんご  トマト   赤色   として、

=DCOUNTA(Sheet!A1:C8,1,A1:B2)-DCOUNTA(Sheet1!A1:C8,1,A1:C2)

にすると、色の列が空白のものも計算されてしまい、困ってしまいました。
また、同じ条件で空白の個数を求めることができるでしょうか?

よろしければ、アドバイスお願いします。

補足日時:2001/05/26 02:09
    • good
    • 0

条件2個は


=SUM(IF(A1:A7="りんご",IF(B1:B7="トマト",1,0),0))
条件3個は
=SUM(IF(A1:A7="ぶどう",IF(B1:B7="トマト",IF(C1:C7="赤色",1,0),0)))
で出ませんか?
配列数式です。登録するときは、Ctrl+Shift+Enterとします。私だけ勘違いしてる?
    • good
    • 0
この回答へのお礼

ありがとうございます。
やってみましたが、SUMは数値の合計数を求めるようなので、
セルには文字列のデータばかりなので、個数は拾ってこないみたいです…たぶん。
答えが「0」になってしまいました。

それとも、私のやり方がおかしいのでしょうか(汗)
ありがとうございました。

お礼日時:2001/05/26 01:41

私が聞かれたのではないのですが目に入ったので


>種類1が「りんご」で、種類2は「空白」で「赤色」のもの…というような。
空白はダメなのでスペースを入れれば?
    • good
    • 0
この回答へのお礼

ありがとうございます!
条件のセルにスペースを入れれば、空白のセルを認識してくれるのですね!?
#すみません、まだ確認できてません。
#april21さんへのお礼を書いて送信したところで、こちらが目に入ったので(汗)

さっそくやってみます。
ありがとうございました!

お礼日時:2001/05/26 02:33

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