
いつもお世話になっております。
この度、下記の関数について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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
マクロのコードを、少しでも削って短くしたい
Excel(エクセル)
-
VBAで、㉑という数値が、正しく、入力できない
Excel(エクセル)
-
電卓は正しいのに エクセルで計算させると間違った答えです。なぜ?
Excel(エクセル)
-
4
重複したデータ(空白は除く)のVBA表記について
Visual Basic(VBA)
-
5
Excel マクロで For 文のインデックスを先に宣言する理由
Excel(エクセル)
-
6
エクセルデーターの並び替え
Excel(エクセル)
-
7
エクセルでround関数を使わないで四捨五入する方法
Excel(エクセル)
-
8
マクロ セルの選択
Excel(エクセル)
-
9
Excelで文字列にランダムに記号を入れる事は出来ますか⁇Excelで作っている名簿リストをプリント
Excel(エクセル)
-
10
Excelで、行に複数の数字が入力されているセルが複数の列存在し、行を跨いでセル内の数値を並び替える
Excel(エクセル)
-
11
Countifよりも早く重複数をカウントする方法ありますか?
Excel(エクセル)
-
12
指定した文字から指定した文字のスペースまでを削除するVBAの構文について
Visual Basic(VBA)
-
13
Excel VBAのことでお聞きしたいことがあり、ご教授お願いします。 下記の3つの図形があり、この
Excel(エクセル)
-
14
出勤簿の土、日、休日に色付けできない
Excel(エクセル)
-
15
エクセルデータからの必要項目抽出方法を教えてください
Excel(エクセル)
-
16
記録マクロのみでできますか?
Excel(エクセル)
-
17
エクセルVBAのコードについて
Visual Basic(VBA)
-
18
A2セルの値が「100021_りんご01青森県」からInStrで「りんご」を抽出したい。 セルの値が
Visual Basic(VBA)
-
19
【VBA】印刷マクロのループ処理が反映されません
Visual Basic(VBA)
-
20
【ご教示ください】VBAの記述方法がわかりません。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
エクセルでマウスカーソルの形...
-
5
EXCELで2つの数値のうち大きい...
-
6
EXCELで2列を参照し、重複する...
-
7
エクセルの2ページ目の作り方
-
8
(Excel)あるセルに文字を入力...
-
9
Excel 書式を関数で判断。
-
10
エクセルのセル内の余白の設定...
-
11
Excelで数式だけを消して、数値...
-
12
グラフの横・縦項目が全部表示...
-
13
セル入力文字が、「右のセルに...
-
14
VBAで保存しないで閉じると空の...
-
15
エクセルの画面で十字マークが...
-
16
エクセルで作った新しいウイン...
-
17
特定セルの内容を更新したら、...
-
18
Excel に貼り付けた図形が、保...
-
19
Excelで隣のセルと同じ内容に列...
-
20
関数を使わずに一括で全角を半...
おすすめ情報
公式facebook
公式twitter
色々と調べVBAではなく下記の関数で問題の解決をすることができました。
=SUMPRODUCT((INDIRECT("A1:A13")<>"")/COUNTIF(INDIRECT("A1:A13"),(INDIRECT("A1:A13")&"")))
回答してくださいました方々、この場を借りて感謝申し上げます。
ありがとうございました。