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も見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
-
4
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
5
Count Ifのセルの範囲指定に変数を使用したい
Visual Basic(VBA)
-
6
=SUM(E3:INDIRECT(ADDRESS(ROW()-1,COLUMN()))) この関数で
Excel(エクセル)
-
7
Excelで、countif関数の範囲指定でシート名指定をするとき、セル参照にしたい
その他(Microsoft Office)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
10
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
11
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
12
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
13
【Excel】数式の参照範囲を可変対応させるためにはどうすれば良いのか(修正のため再投稿)
Excel(エクセル)
-
14
エクセルでエラーが出て困っています。
Excel(エクセル)
-
15
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
16
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
19
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
20
SUMIF関数で、「ブランク以外を合計」を指定したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
回答ありがとうございます。
言葉足らずですみません。
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 の範囲が減っていくことになりますよね?
まぁ、最大値を設定してあればほぼ大丈夫なのですが、将来的に後任へ引き継いだ際に
懸念される材料でして・・・