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.2
- 回答日時:
OFFSET関数や、INDIRECT関数を使いましょう。
OFFSET関数は範囲を数値で指定できます。
INDIRECT関数は、文字列を範囲に変換する関数なので、範囲を示す文字列を作って与えれば良い。
それぞれの関数の使い方を調べてみましょう。
意外と簡単ですよ。
まあ、質問者さんの場合はINDIRECT関数で解決するような気もしますけど...。
・・・
というか、
=COUNTA(OFFSET($A$3,,,COUNTA(A:A),1))
これ、スゲー無駄なことをしているように見えるのは自分だけでしょうか。
=COUNTA(A:A)-COUNTA(A1:A2)
で良いじゃん。
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.4
- 回答日時:
=MAX(IF(A1:A10000="",0,1)*ROW(A1:A10000))
上記を打ち込んでctrl+enter
とすると間に空白があっても最後になります
=COUNTIF(indirect("D3:D"&150),1)
indirectは範囲文字を通常の選択化します。
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.6ベストアンサー
- 回答日時:
No.3・5です。
>心配なのは、不要になった行を削除した際に
どうしても心配なのであれば
=COUNTIF(B3:B1048576,"<3")
のように現在のExcelの最終行までを指定しても構わないと思います。
>将来的に後任へ引き継いだ際に
というコトですが、
単純な数式にする方が後任者も簡単に修正できるのではないでしょうか?
無理やり長い数式にする方が不親切のような気がします。
(当方の勝手な解釈かも・・・)m(_ _)m
丁寧なやりとり、ありがとうございました。
>単純な数式にする方が後任者も簡単に修正できるのではないでしょうか?
確かに、複雑な数式よりも簡単な方が、後任にもわかりやすいですね。
1000はあったとしても、10000までの行の削除は起こりにくいと
考えられるため、単純な関数式で対応したいと思います。
他の皆様方も回答ありがとうございました。
この場を借りてお礼申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
これはディベートの論題だと仮定したうえでの回答お願いします。あなたは、その末にタイムマシンを壊してしまうのか、使い道を探すのかどうかを考えてもらいたいです。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
-
4
Count Ifのセルの範囲指定に変数を使用したい
Visual Basic(VBA)
-
5
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
6
=SUM(E3:INDIRECT(ADDRESS(ROW()-1,COLUMN()))) この関数で
Excel(エクセル)
-
7
Excelで、countif関数の範囲指定でシート名指定をするとき、セル参照にしたい
その他(Microsoft Office)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
10
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
11
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
12
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
13
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
14
SUMPRODUCT関数 行が増えても自動で
その他(Microsoft Office)
-
15
Vlookup関数とcountif関数の組み合わせについて
Excel(エクセル)
-
16
【Excel】数式の参照範囲を可変対応させるためにはどうすれば良いのか(修正のため再投稿)
Excel(エクセル)
-
17
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
18
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
19
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
20
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelでASCを使って全角を半角...
-
今まで文字化けなく開けていたc...
-
Microsoft 365Excelの見開きペ...
-
Excel関数について教えてくださ...
-
マクロの処理が遅くなった
-
スプレッドシートで指定された...
-
エクセルの質問です。 F列からL...
-
Excel関数について教えてくださ...
-
エクセルのセル内に分数などの...
-
作成した数式を値として表示し...
-
ワークシートに出現したこの画...
-
条件付き書式設定で罫線を引き...
-
EXCELの散布図で日付が1900年に...
-
タイムスタンプとテキストから...
-
シートの情報を別のシートへま...
-
Excelでの文字色
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルの文字が途中から消える
-
エクセルの数式バーのフォント...
-
エクセルでファイルの最終更新...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦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 の範囲が減っていくことになりますよね?
まぁ、最大値を設定してあればほぼ大丈夫なのですが、将来的に後任へ引き継いだ際に
懸念される材料でして・・・