Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 : Excel 2013)
=vlookupu()の件数で・・・
投稿日時: 19/11/16 12:12:43
投稿者: rinahana

いつもお世話になっております。
=iferror(vlookup(...),"")関数が入力されていて、データが表示されているセルとデータが表示されていないセル(該当データがない)が混在している中で、データがあるセルをカウントしたいのですが、良い方法を探しているのですが、小生の浅い知識では見つかりません。何か方法がありませんか?
宜しくお願いします。

回答
投稿日時: 19/11/16 12:52:27
投稿者: んなっと

調べたい範囲がD:Dだとして
 
文字列なら
=COUNTIF(D:D,"?*")
数値なら
=COUNT(D:D)
両方なら
=COUNTIF(D:D,"?*")+COUNT(D:D)
 
D:Dはシート構成に合わせてE1:E50などと変えてください。

回答
投稿日時: 19/11/16 13:22:57
投稿者: メジロ2

=iferror(vlookup(...),"")がセル「C4:C11」に入力されているとします。
 
=SUMPRODUCT((LEN(C4:C11)>0)*1)

投稿日時: 19/11/16 22:08:59
投稿者: rinahana

んなっとさん、メジロ2さん どうもありがとうございました。
教えていただいたすべてを実行しましたが、すべて正しい結果が得られました。
本当にどうも有難うございました。
vookup()などの関数をセルに入力して、その結果のセル数をカウントするにはどうすれば
いいのか 分からなかったので 本当に助かりました。
また、メジロ2さんの”=SUMPRODUCT((LEN(C4:C11)>0)*1)”は難解です、小生にとっては
”何か文字列があれば1を掛ける”というLEN(C4:C11)>0がよくわかりません。なんとなくこんなんかなぁ〜。
もし 可能なら解説おねがいできませんか。無理ですか?

回答
投稿日時: 19/11/16 22:42:17
投稿者: WinArrow
投稿者のウェブサイトに移動

横から失礼します。
 
SUMPRODUCT関数は、配列関数です。
 
従って、複数のセルを引数にします。
>=SUMPRODUCT((LEN(C4:C11)>0)*1)
引数:LEN(C4:C11)>0
は、C4:C11の範囲にあるセルの値の桁数(LEN関数)が「1以上」のセル個数を求めています。
 
質問者さんは、データがないもの
と書いていますが、VLOOKUP関数がエラーの場合は、「""」に置き換えていますが、
LEN関数では「0」になります。
因みに「""」になった場合は、「空白文字列」といいます。
空白文字列セルも空白セルも、目視では、同じに見えますが、空白とは区別して扱う必要があります。
 

投稿日時: 19/11/17 08:34:33
投稿者: rinahana

 WinArrow さん ありがとうございます。
 

引用:
=SUMPRODUCT((LEN(C4:C11)>0)*1)

 の (LEN(C4:C11)>0 は セルC4からセルC11のすべてに 9以上か?という一括で調べることが出来るのですね。そこに1を掛けるのは SUMPRODUCT関数の形式に従う ということで・・・
ですね。
ありがとうございます。