
No.3ベストアンサー
- 回答日時:
要するに、F列に「●」が入力されていて、且つ、B列に「C」が入力されている、という条件を満たしている行数を求める、といった事をされたいのですね?
もし、質問者様が御使いになられているExcelのバージョンがExcel2007以降である場合には、その目的に合った関数としてCOUNTIFS関数(COUNTIF関数ではありません)があります。
例えば、2行目~6行目の範囲内で、F列に「●」が入力されていて、且つ、B列に「C」が入力されている、という条件を満たしている行数を求める場合には、次の様になります。
=COUNTIFS(B2:B6,"C",F2:F6,"●")
尚、もし、質問者様が御使いになられているExcelのバージョンがExcel2007よりも前のバージョンである場合には、SUMPRODUCT関数を使えば同様の事が可能となりますが、SUMPRODUCT関数は計算処理に要するパソコンの計算負荷が大きく、データ数が数千行程度にもなる場合には、計算が終了するまでに何分もかかってしまう場合があります。(1000行程度までなら、それ程時間はかからないようですが)
=SUMPRODUCT((B2:B6="C")*(F2:F6="●"))
ご回答どうもありがとうございます。
お返事、お礼が遅れまして申し訳ございません。
上記の方法で出来ました!
表がもっと大きいので、実際に入力して試してみたいと思います。
No.5
- 回答日時:
こんばんは!
>関数をONに出来る様なスイッチ役のセルが作れればと・・・
とありますので、一案です。
F列をダブルクリックではどうでしょうか?
実際のデータはもっと多いと思いますが、
↓の画像の通りの配置だとします。
画面左下の表があるSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてF列をダブルクリックしてみてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'この行から
If Application.Intersect(Target, Range("F2:F6")) Is Nothing Then Exit Sub
Dim i As Long
Dim j As Long
Dim k As Long
Dim myArea As Range
Set myArea = Range("B9:E11")
i = Target.Row
Cancel = True
myArea.ClearContents
If Target <> "" Then
j = WorksheetFunction.Match(Target, Rows(8), False)
For k = 9 To Cells(Rows.Count, 1).End(xlUp).Row
With Cells(k, j - 1)
.Value = WorksheetFunction.CountIf(Range(Cells(2, j - 1), Cells(6, j - 1)), Cells(k, 1))
.Offset(, 1) = WorksheetFunction.CountIf(Range(Cells(i, 2), Cells(i, 5)), Cells(k, 1))
End With
Next k
End If
End Sub 'この行まで
※ 空白セルをダブルクリックするとB9~E11のデータが消えるだけです。m(_ _)m

ご回答どうもありがとうございます。
これがVBEというやつなのですね、凄いですね!
こんな凄い方法もあるのですね。
●をダブルクリックしたら表が出てきました!
しかし▲をダブルクリックしたら甲列の方が消えてしまいました・・実際の表は甲の列も乙の列も全て残しておくので今回は参考にさせて頂きますね。
この説明不足の中からこんなにすごい計算式を出して頂き感動です!
説明不足とお返事、お礼が遅れまして大変申し訳ありませんでした。
本当にどうもありがとうございました!
No.4
- 回答日時:
ANo.3です。
もし、添付画像の通りにされるのでしたら、まず、B10セルに次の関数を入力して下さい。
=COUNTIF(B$2:B$6,$A10)
次に、C10セルに次の関数を入力して下さい。
【Excel2007以降のバージョンの場合】
=COUNTIFS(B$2:B$6,$A10,$F$2:$F$6,C$9)
【Excel2007よりも前のバージョンの場合】
=SUMPRODUCT((B$2:B$6=$A10)*($F$2:$F$6=C$9))
そして、B10~C10の範囲をまとめてコピーして、B10~E12の範囲に貼り付けて下さい。
再度ご回答どうもありがとうございました。
こんな方法も出来るのですね。勉強になります。
私が使っているのはExcel2000と2002でした。
少ない情報と私の説明不足の中から丁寧に答えてくださりありがとうございました。
No.2
- 回答日時:
Excelの計算は通常「自動」に設定されていますが、「計算方法」を「手動」に設定しておいて、
「再計算」する時は「F9」キーのショートカットキーを押すことで計算させることが出来ます。
計算時はここに注意 これで「Excel 2007」で仕事がはかどる!
http://ascii.jp/elem/000/000/200/200639/index-2. …
ご回答どうもありがとうございます!
そういう事も出来るのですね、勉強になります。
計算式がわかったら使ってみようと思います。
お礼が遅れましてすみません。
No.1
- 回答日時:
=COUNTIF(B2:B3,"A")
を
=IF(ISBLANK(F9),"",COUNTIF(B2:B3,"A"))
にすると、F9に何か入れないと空白になる。
この回答への補足
全くの説明不足ですみません。
F列の記号は何行目にあるかと決まっているわけではなく、付ける時々によって違う行につき、その上、甲なら●、乙なら▲と区別しているので、それぞれ別にカウント出来るでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Microsoft Formsでクイズの解答...
-
ms teamsの日々のスケジュール...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
パソコンWindows11 Office2021...
-
Excelで〇のついたものを抽出し...
-
エクセルで質問です。 ハイパー...
-
Microsoft365、ページ設定がで...
-
Excel テーブル内の空白行の削除
-
大学のレポート A4で1枚レポー...
-
エクセルの貼り付け「リンクさ...
-
エクセルからメールを作れるか...
-
表の作成について
-
エクセルで自動的にQRを表示さ...
-
エクセルで特定のセルの値を別...
-
Microsoft365搭載Windows11PCへ...
-
会社のOutlookにてメールを予約...
-
MicrosoftOfficeの1ユーザー2...
-
Excel 日付を比較したら、同じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報