
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
Count Ifのセルの範囲指定に変数を使用したい
Visual Basic(VBA)
-
-
4
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
5
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
6
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
7
=SUM(E3:INDIRECT(ADDRESS(ROW()-1,COLUMN()))) この関数で
Excel(エクセル)
-
8
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
9
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
10
【Excel】数式の参照範囲を可変対応させるためにはどうすれば良いのか(修正のため再投稿)
Excel(エクセル)
-
11
Excelで、countif関数の範囲指定でシート名指定をするとき、セル参照にしたい
その他(Microsoft Office)
-
12
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
13
Vlookup関数とcountif関数の組み合わせについて
Excel(エクセル)
-
14
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
15
SUMIFとCOUNTIFを合わせたような?関数ご存知ないですか
Excel(エクセル)
-
16
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
17
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
18
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【マクロ】変数に入れるコード...
-
【マクロ】実行時エラー '424':...
-
エクセルのリストについて
-
エクセルの関数について
-
【マクロ】元データと同じお客...
-
【マクロ】左のブックと右のブ...
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【画像あり】オートフィルター...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
エクセルの複雑なシフト表から...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報
回答ありがとうございます。
言葉足らずですみません。
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 の範囲が減っていくことになりますよね?
まぁ、最大値を設定してあればほぼ大丈夫なのですが、将来的に後任へ引き継いだ際に
懸念される材料でして・・・