
いつもお世話になっております。
この度、下記の関数についてVBAのご教示をいただきたく質問させていただきました。
https://excel-forest.net/2017/03/22/tyouhukuwo/
こちらに記載されております重複と空白セルを除くデータをカウントする
=SUMPRODUCT(1/COUNTIF(A1:A13,A1:A13&""))-1
の数式を活用しているのですが、DB上からデータを新たに反映させた際、#REF!のエラーが表示され困っております。
Excel関数の修正で解決する方法があれば嬉しいのですが、これは私の思い付きになりますが、もしボタンを押した際にセルに上記の関数のVBA構文を反映させることが可能であればテキストからコピペする煩しさから解放されると思い質問させていただきました。
色々お調べしたのですが自力で解決することができず、どうぞよろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ご質問は、
「重複したデータ(空白は除く)のVBA表記」を知りたいというのか、
「#REF!のエラー」が出なくなるようにしたいのか、
「重複と空白セルを除くデータをカウントする」方法をしりたいのか、
いったいどれなのでしょうか。
重複と空白セルを除くデータをカウントする方法なら、
UNIQUE関数で即可能ですよ。Microsoft365ですが、
banzaiA様、回答ありがとうございます。
Excelのバージョンは2019の為、UNIQUE関数は使用できない様です。
#REF!エラーの原因はお調べしまして「セルの値を削除してしまった時や参照先が無効な場合に表示されるエラーです。」
とサイトに載っております処理がExcel上で行われるため引き起こされているエラーであることは理解しました。
このエラーを回避する関数の表記方法があるのか疑問を抱いたので質問させていただきました。
私の理想としましては関数で【重複と空白セルを除くデータをカウントする】
を知りたく、かつ指定範囲が変動しても反映させる方法があれば幸いです。
よろしくお願いいたします。
No.3
- 回答日時:
>DB上からデータを新たに反映させた際
これは、DBソフトのデータをコピペしたのでしょうか。
コピペの場合だったら、DBソフトを今のエクセルワークシートと関係ないエクセルワークシートに貼る。そのあと、一度貼り付けたワークシートから値貼り付けする。
あと、範囲が、「A1:A13」ですが、行数が同じですか。範囲を確認する。
No.2
- 回答日時:
1.参照しているセルの型がおかしくないか?
(日付型が混ざっているとか?)
2.一度 SUMPRODUCTと-1 を外してCOUNTIFだけで動かしてみる。
この時点で#REF!となるかどうか
3.2が正常の場合COUNTIFの範囲指定をA1:A1に変えてみるとどうか?
(引数1.2ともに変えてみてくださいね)
4.Countifの結果が0になっていないか
1/0の結果は#REF!になります
今パソコンがないのではっきりとした回答ができませんが、解決に向けた検証方法を思いつく限り書かせていただきました!
問題解決の足枷になればと思います!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 重複したデータ(空白は除く)のVBA表記について 5 2022/08/15 12:41
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) 特定の文字の合計値(空白を無視+可変に対応)を求める関数について 1 2022/08/18 10:51
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
「データ要素を線で結ぶ」がチ...
-
VBA スペースが入力されて...
-
エクセルで入力すると隣のセル...
-
Excelで、入力文字の後に自動で...
-
空白セル内の数式を残したまま...
-
エクセル 連番が途切れていると...
-
エクセルで、「複数のセルの中...
-
vlookup にて、返す値が、空白...
-
countaで空白セルもカウントさ...
-
【Excel】 Ctrl+方向キー で空...
-
関数TRANSPOSEで空白セルを0に...
-
列の複数ある空白セルを飛ばし...
-
エクセルで上の行の値を自動的...
-
Excel > ピボットテーブル「(空...
-
以前質問させていただいた続き...
-
エクセル セルのコピー元が空...
-
Excel:関数が入っているセルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
Excel > ピボットテーブル「(空...
-
Excelで、入力文字の後に自動で...
-
Excel:関数が入っているセルに...
-
「データ要素を線で結ぶ」がチ...
-
数式による空白を無視して最終...
-
エクセル 連番が途切れていると...
-
エクセルのIF関数で、隣のセル...
-
excel2010 空白セルにのみ貼り...
-
ピボットテーブルで空白セルの...
-
空白セル内の数式を残したまま...
-
関数TRANSPOSEで空白セルを0に...
-
形式貼り付けの「空白を無視す...
-
【Excel】 csvの作成時、空白セ...
-
色つき行の一括削除は?
-
エクセルで、「複数のセルの中...
-
【Excel】 Ctrl+方向キー で空...
-
エクセルで上の行の値を自動的...
-
エクセルのグラフで式や文字列...
おすすめ情報
色々と調べVBAではなく下記の関数で問題の解決をすることができました。
=SUMPRODUCT((INDIRECT("A1:A13")<>"")/COUNTIF(INDIRECT("A1:A13"),(INDIRECT("A1:A13")&"")))
回答してくださいました方々、この場を借りて感謝申し上げます。
ありがとうございました。