
countif関数を使い、D列の任意の値の個数を出したいと考えています。
検索範囲:D3~D列の最終行まで
なお、D列は空白セルもあるため、必ずデータが存在するA列の値を参照し
=COUNTA(OFFSET($A$3,,,COUNTA(A:A),1))
こちらでD列の最終行の値を求めることまではできました。
ここからcountif関数を使用する際
通常150行までであれば
=COUNTIF(D3:D150,1)
となりますが、このD150のところを可変にする場合の記述を
どのようにしたらよいでしょうか?
=COUNTIF(D3&”:D”&COUNTA(OFFSET($A$3,,,COUNTA(A:A),1)),1)
↑このような感じの雰囲気は分かるのですが・・・
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
No.3・5です。
>心配なのは、不要になった行を削除した際に
どうしても心配なのであれば
=COUNTIF(B3:B1048576,"<3")
のように現在のExcelの最終行までを指定しても構わないと思います。
>将来的に後任へ引き継いだ際に
というコトですが、
単純な数式にする方が後任者も簡単に修正できるのではないでしょうか?
無理やり長い数式にする方が不親切のような気がします。
(当方の勝手な解釈かも・・・)m(_ _)m
丁寧なやりとり、ありがとうございました。
>単純な数式にする方が後任者も簡単に修正できるのではないでしょうか?
確かに、複雑な数式よりも簡単な方が、後任にもわかりやすいですね。
1000はあったとしても、10000までの行の削除は起こりにくいと
考えられるため、単純な関数式で対応したいと思います。
他の皆様方も回答ありがとうございました。
この場を借りてお礼申し上げます。
No.5
- 回答日時:
No.3です。
3行目以降は整数しか入らない!という前提であれば
わざわざA列で範囲指定しなくてもあらかじめ広い範囲を指定しておいてはダメですか?
=COUNTIF(B3:B1000,"<3")
こんな感じで。
範囲内に整数で「0」なども入る可能性がある場合は
=COUNTIFS(B3:B1000,">=1",B3:B1000,"<=2")
尚、どうしてもA列で最終行を取得し、それを利用したいのであれば
無理やりになりますが、
=COUNTIF(OFFSET(B3,0,,COUNTA($A:$A)-COUNTA($A1:$A2)+2),"<3")
といった感じでしょうかね。m(_ _)m
No.4
- 回答日時:
=MAX(IF(A1:A10000="",0,1)*ROW(A1:A10000))
上記を打ち込んでctrl+enter
とすると間に空白があっても最後になります
=COUNTIF(indirect("D3:D"&150),1)
indirectは範囲文字を通常の選択化します。
No.3
- 回答日時:
こんにちは!
>=COUNTA(OFFSET($A$3,,,COUNTA(A:A),1))
>こちらでD列の最終行の値を求めることまではできました。
ん?これで
>こちらでD列の最終行の値を求めることまではできました
「最終行」が取得できた!というコトでしょうか?
A3セル以降空白セルがない!という前提であれば
=COUNTA(OFFSET($A$3,,,COUNTA(A:A),1))+2
だと思いますが・・・
ただ、質問分を拝見するとD列の中に「1」のセルがいくつあるか?を知りたい!
というコトのようなので、単純に
=COUNTIF(D:D,1)
だけでいいと思うのですが・・・
なぜ最終行を指定してCOUNTIF関数を使わないといけないのか不明ですが、
どうしても!というコトであれば
=COUNTIF(INDIRECT("D3:D"&COUNTA(OFFSET($A$3,,,COUNTA(A:A)))+2),1)
でいけると思います。m(_ _)m
No.2
- 回答日時:
OFFSET関数や、INDIRECT関数を使いましょう。
OFFSET関数は範囲を数値で指定できます。
INDIRECT関数は、文字列を範囲に変換する関数なので、範囲を示す文字列を作って与えれば良い。
それぞれの関数の使い方を調べてみましょう。
意外と簡単ですよ。
まあ、質問者さんの場合はINDIRECT関数で解決するような気もしますけど...。
・・・
というか、
=COUNTA(OFFSET($A$3,,,COUNTA(A:A),1))
これ、スゲー無駄なことをしているように見えるのは自分だけでしょうか。
=COUNTA(A:A)-COUNTA(A1:A2)
で良いじゃん。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの印刷範囲をページ単位で可変にする方法 3 2022/05/23 13:04
- その他(Microsoft Office) SUMIFとCOUNTIFの違いについて 4 2022/09/29 14:13
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) EXCEL 複数の条件に合致する個数を求めるには? 3 2022/04/19 16:39
- Excel(エクセル) Excelでの2つの条件を指定した計算について、躓いてしまったので助けて下さい。 2 2022/07/15 22:10
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) マクロでセル内の数式に一部分の数式をさらに追加したい 1 2023/07/19 18:59
- Excel(エクセル) GASで重複データの件数ではなく、何番目かを求める方法について 2 2022/12/10 14:56
このQ&Aを見た人はこんなQ&Aも見ています
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
-
4
Count Ifのセルの範囲指定に変数を使用したい
Visual Basic(VBA)
-
5
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
6
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
7
=SUM(E3:INDIRECT(ADDRESS(ROW()-1,COLUMN()))) この関数で
Excel(エクセル)
-
8
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
9
Excelで、countif関数の範囲指定でシート名指定をするとき、セル参照にしたい
その他(Microsoft Office)
-
10
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
11
Vlookup関数とcountif関数の組み合わせについて
Excel(エクセル)
-
12
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
13
【Excel】数式の参照範囲を可変対応させるためにはどうすれば良いのか(修正のため再投稿)
Excel(エクセル)
-
14
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
15
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
16
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
17
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
18
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
19
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】A列にある、日付(本...
-
エクセルの循環参照、?
-
【マクロ】3行に上から下に並...
-
【マクロ】WEBシステムから保存...
-
【マクロ】EXCELで読込したCSV...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
【条件付き書式】シートの中で...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
派遣会社とかハローワークとか...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報
回答ありがとうございます。
言葉足らずですみません。
1行目に行見出しがあり、2行目に提示した計算結果を表示し、その2行を固定して
画面のスクロールをする関係上、3行目以降のデータをカウントすることになります。
イメージとしては
氏名 月 火 水 木 金 土 日
10 30 40 25 5 2 3
太郎 1 1 3
次郎 1 1 1
三郎 1 2 1 1
・
・
といった感じです。
1と2の合計が2行目に、3についてはカウントしない、という仕組みです。
countifで1と2を合計しようと考えていました。
INDIRECT関数を使用すればよいとの助言がありましたので、
その方向で考えてみたいと思います。
もし、提示したデータでもっと簡単にできる方法があれば、助言いただけると幸いです。
助言ありがとうございます。
確かに
=COUNTIF(B3:B1000,"<3")
こちらであらかじめ広い範囲の設定であれば大丈夫なのですが、
心配なのは、不要になった行を削除した際に、B1000 の範囲が減っていくことになりますよね?
まぁ、最大値を設定してあればほぼ大丈夫なのですが、将来的に後任へ引き継いだ際に
懸念される材料でして・・・