- ベストアンサー
Exxel 関数を教えてください(其の二)
いつも大変お世話になっております。 さっそく質問です。 以下のような内容を入力した表があります。 列Aの各セルは、『間』または『直』という文字が入力されています。 列Bの各セルは、『○』または『×』が入力されます。 この表を利用して、計算をいくつか行うのですが… 列Cのあるセルに、列Aの『直』だけを選択したものを表示させます。 これは… 関数【=COUNTIF($A$3:$A$45,"直")】 …としています。 ↑ 表の列Aのセルの範囲です。 問題は次です。 列Dのあるセルに… 【列Aが『直』で、なおかつ列Bが『×』のもの】 …を表示させたいのであります。 こういうことが出来る関数は、ありますでしょうか? よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
配列数式という機能を使えば簡単に算出できます。 【列Aが『直』で、なおかつ列Bが『×』のもの】の合計数を表示させたいセルに、 =SUM(IF($A$3:$A$45="直",IF($B$3:$B$45="×",1))) と入力し、[Ctrl] + [Shift] + [Enter] を押してください。 うまく行かないようでしたら補足してくださいませ。
その他の回答 (4)
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
「配列として入力」する方法をを使った解は3つも紹介されているからいいとして、 そうじゃないシンプルな方法を。 =sumproduct(1*($A$3:$A$45="直"), 1*($B$3:$B$45="×"))
お礼
おぉ~っ!! 『配列数式』とはまた違う方法がっ!!! これも試してみたところ、上手く表示することができました。 御回答ありがとうございました。 これからも、よろしくお願い致します。
- imogasi
- ベストアンサー率27% (4737/17070)
>列Aの『直』だけを選択したものを表示させます。 これが「 これは… 関数【=COUNTIF($A$3:$A$45,"直")】 …としています」で出来ますか。 出来ないはず。CountIfは件数・個数を数えるのであって、「選択したものを表示」にはならないはず。 私の乏しい知識では、関数だけで該当しない行を飛ばして 上に積めて表示は難しいと思います。 私なら空き列(E列としますに)=IF(A1="直",A1,"")といれ、最下行まで式を複写する。 そしてE列で並べ替えする。ブランク行は上に纏まるので それ以外をコピーして適当な個所に貼りつける。 >【列Aが『直』で、なおかつ列Bが『×』のもの】 の場合は =IF(AND(A4="直",B4="×"),A4,"")をE列に =IF(AND(A4="直",B4="×"),B4,"")をF列に =IF(AND(A4="直",B4="×"),C4,"")をG列に =IF(AND(A4="直",B4="×"),D4,"")をH列に いれる。そして複写する。 後は上記と同じ並べ替えをする。 ●詰めてコピーするような回答が出ればいいのですが。 但し関数式を用いての話で、手操作フィルタやVBAなら簡単に出来ます。
お礼
質問文に「個数を表示する」という言葉を記入しておらず 御迷惑とお手数おかけしまして、大変申し訳ございませんでした。。。 御回答はまた参考にさせていただきます。 ありがとうございました。 これからも宜しくお願い致します。
- MSZ006
- ベストアンサー率38% (390/1011)
【列Aが『直』で、なおかつ列Bが『×』のもの】の「個数」を表示するという質問だとして回答させていただきます。 =SUM(($A$3:$A$45="直")*($B$3:$B$45="×")) 上の算式を配列数式として入力すると表示できると思います。 (配列数式は数式入力確定時にctrlキーとshiftキーを押しながらenterキーを押して入力します。)
お礼
説明不足・言葉不足で申し訳ございませんでした。 下の No.1、No.2の御二方とは、また少し違う『配列数式』ですね。 こちらも試してみましたら、上手く表示することができました! さっそくの御回答、ありがとうございました。 これからも、よろしくお願い致します!
- omusupa
- ベストアンサー率61% (115/186)
Aの列が「直」でかつB列が「×」のものを 数えたいと言うことでよろしいでしょうか? 配列数式を使用すると可能です。 =SUM(IF(A3:A45="直",IF(B3:B45="×",1,0),0)) と入力し、 CtrlとShiftを押しながら(2つとも同時に押しながら)ENTERキーを押してください。 すると {=SUM(IF(A3:A45="直",IF(B3:B45="×",1,0),0))} と言う風になりますが、数は数えられると思います。 配列数式とは何か?ということは、ヘルプで確認してみてください。
お礼
>Aの列が「直」でかつB列が「×」のものを 数えたいと言うことでよろしいでしょうか? はい。その通りでございます。 (言葉たらずで、さらに表現がわかりにくくて申し訳ございませんでした…) 教えていただきました『配列数式』で表示することができました! >配列数式とは何か?ということは、ヘルプで確認してみてください。 『配列数式』という言葉、初めて知りました。(←こら…) ヘルプで確認させていただきました。 早速の御回答、ありがとうございました。 これからも、よろしくお願い致します。
お礼
『配列数式』という機能があるのですねっ!新発見です。(←ぉぃ/苦笑) 御陰様で教えていただきましたもので、無事に表示することができました。 早速の御回答、ありがとうございました。 これからも宜しくお願い致します。