質問: 条件のあったデータのみを抽出する excel(ver.97 or 2000)なんですが、a列に会社名、b列に条件、c列に金額が入っているとします。 a列の会社名は複数あり、しかも同じ会社名が幾つも入っている場合もあります。但し同名の会社でも"〃"は用いずにきちんとフルネームで入力します。b列の条件は"1"か空白です。それで例えばa列に「海山商事」という社名が12行分入力されていて、b列には"1"と入力されている部分が5つあった場合に、「会社名が海山商事で、且つb列に"1"が入力されている」金額のみを抽出させる関数式が知りたいのです。宜しくお願い致します。
回答: あ、合計を出したい、ということだったんですか。 sumifでは、複数条件の指定などは出来ないようなので、他の機能を使うことになりますね。 ・例えば、ピボットテーブルでも出来ますよね。 「列」欄に[社名]と[条件]をドラッグして、[値]を金額の合計に設定すれば、仰るような機能が実現できますね。 ただし、ピボットテーブルを使った場合、思うようなレイアウトが実現しにくかったり、いちいち再計算させてやらないと、結果が反映できなかったり、デメリットもありますが... ・それ以外の方法としては、やはり、if 関数でしょうか。 a列:社名, b列:条件, c列:金額, d列:抽出条件(社名), e列:抽出結果(金額)とすると、 iv列などの目立たない位置に =if(b2=1,c2,0) ってな具合に入力しておいて、e2のセルに =sumif(a:a, d2, iv:iv) と入力すれば良いんじゃないかと思います。 iv列の文字色を白にして、シートの保護とかも併用すれば、この「余分な項目」をあまり目立たなくさせることが出来ると思います。 ・たとえ目立たなくたって、余分なセルが使われるのがイヤだって場合には、「配列数式」を使うって手もあります。 e2のセルに =sum(if(a$2:a$55=d2,if($b$2:$b$55=1,$c$2:$c$55,0),0)) と入力し、『[ctrl]+[shift]を押しながら』、enterで確定します。 あとは、e2のセルを社名の数だけ複製すれば完成です。 ただし、これを使った場合、数式を編集するたびに[ctrl]+[shift]+[enter]で確定しなおさないといけないので、ユーザーがどうあっても数式の部分を触れないように、「シートの保護」機能との併用が必須だと思われます。