エクセルでこんな事が出来ますか?

例えばA地区、B地区、C地区で20歳と30歳と40歳の人は合計何人いるかカウントする方法を教えて下さい。
宜しくお願いします。

A 回答 (3件)

こんにちは!



勘違いかもしれませんが
以下のような表で20歳代 30歳代 40歳代の
各地区の人数を数えるってことでしょうか?

   A   B    C
1 [地区] [名前] [年齢]
2 A地区      25
3 B地区      21
4 C地区      32
5 B地区      41
6 C地区      32
7 A地区      21
8 A地区      30
9 A地区      28
10 B地区      44

だとすれば
   E     F   G  H
1 地区\歳 20  30  40
2 A地区   式→
3 B地区   ↓
4 C地区

セルF2に 式
=SUMPRODUCT(($A$2:$A$10=$E2)*($C$2:$C$10>=F$1)*($C$2:$C$10<F$1+10))
を入力後必要範囲に複写

もし丁度20歳 30歳 40歳 の人だけをカウントしたいなら

=SUMPRODUCT(($A$2:$A$10=$E2)*($C$2:$C$10=F$1))

となります。

意図したものと違ったらスミマセン!
    • good
    • 0

こんにちは。

maruru01です。
COUNTIFという関数を使用します。
引数は、COUNTIF(範囲,条件)となっています。
例えば、
年齢が入ったセルがA2~C11で、合計人数を入力するセルがD2とします。
D2のセルに、
「=COUNTIF(A2:C11,"20")」と入力すれば、範囲内で20が入っているセルの個数が表示されます。
条件を、">=20" とすれば20以上の数値が入っているセルの個数になります。
では。
    • good
    • 0

COUNTIF関数を使用すれば出来ます。



=COUNTIF(A1:A5,"<3")-COUNTIF(A1:A5,"<1")

また参考HPを紹介しときます.

がんばれ

参考URL:http://www2.odn.ne.jp/excel/waza/function.html#T …
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Qエクセルについてなのですが、 例えば指定の範囲内に A B B C A B C A B B C D

エクセルについてなのですが、

例えば指定の範囲内に
A B B C A B C A B B C D B D
と並んだセルからAとDの合計を出したい時はどのようにすればいいのですか?

COUNTIFSだったら複数条件を満たした数を表示するので希望とは違います。
希望はA or Dの合計を出したいのです。

Aベストアンサー

こんにちは!

COUNTIFS関数はAND条件になりますので、今回の質問には適しません。

=COUNTIF(範囲,"A")+COUNTIF(範囲,"D")
のように「A」のセル数と「D」のセル数をコツコツと足し算するのが
間違いないと思います。m(_ _)m

Q《エクセル2000》A列・B列の商を合計する関数ってありますか?

皆様こんにちは。

SUMPRODUCTは2つの列の積を合計しますが、2つの列の商を合計する関数はあるでしょうか。

Aベストアンサー

普通に SUMPRODUCTでできると思いますが
=SUMPRODUCT(A1:A2/B1:B2)

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

Qエクセル "A スズキ","B スズキ" もカウントする方法

=countif(a1:cd50,"スズキ")

これだと "スズキ" というセルしか数えませんが、
"A スズキ" というセルも
"B スズキ" というセルも数えて欲しい時は、
どうすればいいですか?
お願いします。

Aベストアンサー

=countif(a1:cd50,"*スズキ")

でいけると思います

QEXILEのカウント関数について教えて下さい。 40行あるA列に同じ文字をセルに入力。B列には異なる

EXILEのカウント関数について教えて下さい。

40行あるA列に同じ文字をセルに入力。B列には異なる文字をセルに入力。C列にA行とB行を結合した文字を表示しています。
D列にC列の行ごとで同じセルの数をカウントしたいと思っていますが
C列は関数がある為、関数をカウントしてしまいます。D列は、40行全て40と表示してしまいます。表示されてない文字はカウントしない様に出来ないでしょうか。教えて下さい。

Aベストアンサー

No.1です。

数式は2行目に入れているのですね?
>何も表示されてない時に1048575と途方にもない・・・

Excel2007以降では最終行が1048576行目になります。
データがない場合は空白セル数(数式は入っているが空白に見えている)セル数が表示されているものと考えられます。

このような場合はエラー処理が必要になります。
一般的にはIF関数で対処できます。
(エラー処理は色々な場面で出てきます)

D2セルの数式を
=IF(C2="","",COUNTIF(C:C,C2))
としてフィルハンドルで下へコピーしてみてください。
数式の意味
C2セルが空白に見えている場合は何も表示しない、
そうでない場合はC列にあるC2セルの個数を表示
といった感じになります。

※ 厳密にいえば数式が入っているので「空白」ではないのですが
現段階ではこの程度でやめておきます。m(_ _)m


人気Q&Aランキング

おすすめ情報