[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『テーブル内でCOUNTIF関数を使用すると行を追加したさい範囲がズレてしまう』(あり)
テーブル(構造化参照)内でCOUNTIF関数を使用し下記のようなデータを作成しています。
A列は番号で連番、B列は文字で”あ”or空欄、C列は数式で「=IF(B2="","",COUNTIF($B$2:B2,"あ"))」と入力してある。
A列のフィルハンドルを使用して行を追加すると範囲が正しく認識されますが、A列に手打ちで行を追加するとC列の範囲がずれてしまいます。
COUNTIF関数の使用方がまずいのでしょうか?また、他に代替できる関数はあるでしょうか?
A B C
1 番号 文字 カウント
2 1 あ 1
3 2
4 3 あ 2
上記データはテーブル化してます。
< 使用 Excel:Excel2016mac、使用 OS:MacOSX >
1."行を追加"というのは、いわゆる行の挿入などではなく 隣接したセルにデータが入力されたことによるテーブル範囲の変更ということで合っていますか? 2."C列の範囲"とおっしゃっているのはどこの部分ですか? 使用している数式では思った結果が出ないということでしょうか。 それとも数式自体が思っている内容に変更されないということでしょうか。 (.:*.ゆ ゅ) 2022/03/22(火) 13:36
確かにズレますね。
↓ だとどうなりますか? =IF(B2="","",COUNTIF($B$2:INDEX(B:B,ROW()),"あ"))
B列が手入力なら、COUNTA でもいいような気がしますけど・・・
以上、参考まで (笑) 2022/03/22(火) 13:52
PC触れたので。確かにズレました。 =IF(B2="","",COUNTIF($B$1:B1,"あ")+1)にしてしまうという強引な手もありますが… (.:*.ゆ ゅ) 2022/03/22(火) 15:12
>B列は文字で”あ”or空欄 「あ」しか入力しないのなら
C2 =IF(B2="","",MAX($C$1:C1)+1)
以上 (笑) 2022/03/22(火) 19:53
>>お二方
提示いただいた数式どれもで望んだ結果が出力することができました。
本当にありがとうございます!!
また、後学のため教えていただくことができたら幸いなのですが、
C2 =IF(B2="","",COUNTIF($B$2:B2,"あ"))
この数式だとなぜ範囲がずれていってしまうのでしょうか?
(あり) 2022/03/22(火) 21:51
>C2 =IF(B2="","",COUNTIF($B$2:B2,"あ")) >この数式だとなぜ範囲がずれていってしまうのでしょうか? まさか仕様とは思えないので、Excelのバグ(プログラムのミス)じゃないですかね、知りませんけど。
ところで ↓ だとどうなりますか? C2 =IF(B2="","",COUNTIF($B$2:[@文字],"あ")) ※「文字」はB列の見出し
または、B列には「あ」しか入力しないのなら C2 =IF(B2="","",COUNTA($B$2:[@文字])) ※ただし、B列は数式で空白にしていないこと
これは問題ないのなら、テーブルの数式は「構造化参照」を使えってことですかね。
以上、参考まで (笑) 2022/03/23(水) 10:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.