• ベストアンサー

エクセルの計算式について教えてください

エクセルの計算式について教えてください A列にはA~Zまでのアルファベットがランダムに並んでいます。 B列には1~9間での数字がランダムに並んでいます。 C-3 の数 (つまりA列がCでB列が3) がいくつあるかカウントさせる式を作りたいのです。 エクセルでは基本的なことかもしれませんが、まだ十分理解していません。何かエクセル関数理解のお勧めのサイトがあればついでに教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

=SUMPRODUCT((A$1:A$1000="土")*(B$1:B$1000="山田")) でやってみましたが正常に検索されました。 jiaojiaowoさんのでは0となるというのでしたら、ひょっとして「完全一致」してないのではないですか? B列の人名に「山 田」とか「 山田」とか「山田 」のようにスペースが入っていたり「山田太郎」とかの部分一致では検索されません。

jiaojiaowo
質問者

補足

どうしてうまくいかないかわかりました。 月、火、水、、が、文字列ではなくて、日付表示の一つの形式としての 月火水、、だったのです。  じゃあ、どうすればよいか、、も実はよくわからないのですが、いずれにしてもうまくいかない理由がわかりました。

その他の回答 (4)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

No3です。 > A列B列(無限)の時の表示の場合はどうなるのでしょうか。 この関数は、残念ながら列全体を指定することはできません。 =SUMPRODUCT((A2:A65536="C")*(B2:B65536=3)) のように範囲を指定することになります。

jiaojiaowo
質問者

補足

A列に月火水木金土日 B列に人名が10名ランダムに1年分入っていて、 土曜日の山田さんの回数を求める式として、 =SUMPRODUCT((A$1:A$1000="土")*(B$1:B$1000="山田")) を作りました。  が、常に表示が0です。他の人名や曜日に変えても0です。何がおかしいのでしょうか。教えていただければ幸いです。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

仮にデータが10行目までであれば =SUMPRODUCT((A1:A10="C")*(B1:B10=3)) でOKです。

jiaojiaowo
質問者

お礼

ありがとうございます。スマートで応用が利きそうなコマンドで参考になります。 A列B列(無限)の時の表示の場合はどうなるのでしょうか。

  • maniada55
  • ベストアンサー率40% (160/398)
回答No.2

未熟者なりに思いついた方法でスマートではないですがどうでしょうか。 ・C列1行に  =IF(A1="c",IF(B1=3,1,0),0)  といれてA,B列の一番下までカバーするようにコピーする ・任意のセルに  =SUM(C1:C65535)  といれて出た数=存在するCと3が隣合う数

回答No.1

一発でやるのは難しいので、 C列などに、=CONCATENATE(A1,B1)といれて、 結合させてから、C列をCOUNTIFなどで数えてはいかがですか?

関連するQ&A

  • エクセルで計算式を作りたい

    エクセルで[C列]に<A列/B列>の計算の結果、割り切れる場合はその数字を、割り切れない場合はNGやエラーといった表示が出て識別できるよう式を入れたいのですが、どのように計算式を組めばいいでしょうか? [C列]の計算結果は整数だけでなく少数でも割り切れれば数字が入るようにしたいです。 R/C [A]    [B]   [C]  [1] 金額   個入  単価  [2] 15,000  145   NG  [3] 15,000  150   100  [4] 15,000  144   NG

  • エクセルの質問です

    エクセルの質問です 「Z」という文字を数字の「0」と認識させたうえで、「C列=A列-B列」を計算させる方法や関数はありますか? 例)  A1=200 B1=Z のとき、 C1=200  A2=Z B2=200のとき、 C2=-200  A3=200 B3=200のとき、 C3=0  A4=Z B4=Z のとき、 C4=0 ※結果が出てくるC列セルの「0」は「Z」と認識させない(A列・B列のZだけを0と認識させる)

  • EXCEL計算式を教えてください

    「A」と「B」列のどちらか一方に、数字か文字が入力されていたら、それを「C」列にカウントするような式の作り方を教えてください。 よろしくお願いします。

  • エクセルの関数の計算式について教えてください。お願いします。

    エクセルの関数の計算式について教えてください。お願いします。   A B C D E F G H I J 1 8 6 3 2 5 10 9 4 1 7 2 16   19       13 3 4 1 3 7 2 8 6 10 9 5 4 5 20 19 18 17 16 15 14 13 12 11 上のようなエクセルの表があります。1の行にランダムに数字が入ります。たとえばG1に9が必ず入るわけではありません。毎回違います。 4の行も同じようにランダムで数字が入ります。 そこで1の行に入った数字が4の行の同じ数字を感知してその下の5の行の数字が2の行に来るようにしたいのですが。どうにかなりませんでしょうか。 一応例をかきましたが、1の行の8があります、4の行にも8があります、4の行8の下に16のがあります、その16が、1の行の8の下に来るようにしたいのです。 このような関数式ありましたら教えてください。お願いします 

  • エクセル関数の質問

    こんにちは。エクセルについて教えてください。 まずは伝わりやすいように下記を見てもらえますか?(と思いましたが、逆にうまく伝わるか書いたあとに不安になりました) ↓シート1 ___A______________B____C   1_[アイウエ]_[T]_[ ] 2_[カキクケ]_[T]_[ ] 3_[サシスセ]_[Z]_[ ] ↓シート2 ___A_______B 1_[アイ]_[(1)] 2_[カキ]_[(2)] 3_[シス]_[(3)] 上段と左側のアルファベットと数字はセル番地です。 [__]がひとつのセルです。 シート1のC列は、空白です。 やりたいことはというと 1.シート1のA列にシート2の文字が含まれている場合にシート1のC列にシート2のB列の(1)~(3)を入れる。(Vlookup関数でできるかな?と思ったら、完全に同じものじゃないとうまく機能しないようなので・・・) 2.「1」の作業のあとに、シート1でB列が「T」&C列が「(1)」のものをカウント。(Countif関数かな?と漠然と思いつつ、二つの条件の入れ方が分からずエクセル本を見ていたら、Dsum関数を見つけて「これ?」と思いましたが、それもよく分からず・・・) よろしくお願い致します。

  • アルゴリズムで

    今エクセルにて簡単なデータ処理をしているのですが、どうしても浮かばないアルゴリズムがあるので、教えて下さい。 Excel2003 VBAにおいて、 A列にアルファベットが並んでいます。 B列、C列には適当な数値が入っています。 Do~LoopにてA列の空白欄までループを回していて、その中で決めたアルファベットが来た時(例えばF)に、そこから次の指定したアルファベット(例えばS)が来るまでB列のセルの数字とC列のセルの数字を足したものをD列のセルに記入します。 決めたアルファベットには規則性はないのですが、一度使った全てのアルファベットが終わるまで来ません。 具体的に描かせてもらうと、A~LまでK~Zまでが分かれており、A~Lはランダムに順に並んでおり、次に順にK~Zまではランダムに並び。全てのアルファベットが終わったら、またらA~Lまでランダムに並び、次にK~Zまで並びます。 これが、何回も続いています。 先の例えに準じて書かせていただくと、Fが来たらそこからB列とC列の計算を始めて、Sが来たらその計算を終える。 また、次にFが来たら、B列とC列の計算を始めてSが来たらその計算を終える。 と言うものです。 これに関して、どうしてもアルゴリズムが浮かびません。 y=1 Do Until Cells(y,1).Value = "" If Cells(y,1).Value = "F" Then … End If y=y+1 Loop と考えたのですが、こうなるとFが来た時だけしか処理をしません。 ランダムに来るFからSの部分を計算するにはどうしたらよいでしょうか? お知恵を拝借させて下さい。 お願いします。

  • エクセルの関数式について

    エクセルの関数式について教えて下さい。 たとえば大会等で参加日数に応じてメダルを進呈する場合の 一覧表を作成する場合  A   50個  50日~100日  B   30個  30日~49日  C   20個  15日~29日 A列に日数を入れた場合に 自動的にB列にアルファベット、C列に金額が計算される式を教えていただきたいのですが・・・ エクセル表としては A列     B列       C列 ○日   アルファベット  ○○○円 ↑ ここに日数を入れた場合にB,Cが自動で計算する式を知りたいのですが・・・ よろしくお願いします。

  • エクセルの関数についての質問です。

    エクセルの関数についての質問です。 画像のように横に1、2、3…(100くらいまで続きます)縦にA、B、Cの行があります(端が切れちゃってますが、A2にA、A3にB、A4にCです) B2から横の列にはそれぞれ☆や○等いろいろな記号が入ります。 そしてこの記号には特定の値が決められています。☆=10、○=5、△=3 B3から横には、B2の記号にそった数字が入ります。(10やら5等) そこまではIF関数で式を作ったのですが、ここからが問題でして… B2から横に1から100まで、記号(B3から横に数字)を入力していった時のB3列の合計が仮に212とします。 合計した値が200を越えてしまった場合、B4からの列に数字を入力するようにしたいのです。 (200ギリギリ前くらいまではB3の列で、それを越える時からB4の列に入力します。その際、B3列に入る数字は消えます) なおかつ可能であれば、このB4からの列に入るのはランダムにできるといいのですが…(画像では○の数字を下ろしていますが、☆の数字をおろしても良いし、△の数字をおろしても良い) ●計算式によって入力された数字(B3列)を特定の数字を越えた場合、別の枠(B4列)に移す関数はありますでしょうか?? ●また、それをランダム(関数)で選ぶことは可能でしょうか?? よろしくお願いします。

  • エクセル オートフィルタを使わないで計算したい

    例えば A列には1,2,3、・・・とランダムに数字が入っていて C列にも1,2,3・・・とランダムに数字が入っています。 B列D列も計算式を用いてランダムに数字が入っています。 なので2つのデータを並べています。 やりたいことは 「A列とC列に「2」ならば右に隣接する整数の数を求めたい」です。 オートフィルタを使うと1つのデータしか取り出せなくなってしまいます。 A列の「2」に隣接するB列の整数の合計と C列の「2」に隣接するB列の整数の合計の合計額がほしいです。 なにかいい方法はありますでしょうか? よろしくお願いします。

  • エクセルでカウント関数について

    エクセルでカウント関数を使用したいのですが、範囲がいっぱいありすぎて出来ません。 離れた3箇所の範囲から数字を拾うにはどの関数を使用したら良いのでしょうか? 例えば、A~Zの1~20に1~150の数字があります。このB列1~20とOPQ列の1~20とZ列の1~20の3箇所の範囲から100がいくつあるか拾いたい場合はどうしたら良いのでしょうか? どなたか知ってる方お願い致します。

専門家に質問してみよう