• ベストアンサー

関数式の内容を教えてください

お世話になります。 以下関数の内容を教えてください。 =COUNTIFS(C:C,M2&"*",D:D,"<>") この"*"、"<>"がどういう意味なのかがわかりません。 表を添付いたしました。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (439/603)
回答No.1

>=COUNTIFS(C:C,M2&"*",D:D,"<>") =COUNTIFS(C:C,H2&"*",D:D,"<>") の間違いですかね。 スクショも I2&"*" となってますが、I2に入れる数式にI2を使うと循環参照で怒られるはずです。 "*" ですが、ワイルドカードと呼ばれるもので、アスタリスクは1文字以上の任意の文字列を表します。 この数式の場合、H2に入れた文字列の後ろが何であっても、『一致』するということになります。 H2が『りんご』であれば、「りんご-1」「りんご-2」「りんご-3」の全てが『一致』する、のですが、この表ではH2に りんご-1 と入れているので、「りんご-1」だけが『一致』となります。 ワイルドカードには、"?"もありますがあまり使いません。 "<>" は、=(イコール)の反対、『イコールじゃない』になります。 通常はこの後ろに対象の値を入れて、例えば "<>○"(○じゃない) などで使いますが、後ろに何もないのでこの場合、"<>"(空欄じゃない) という意味になります。 関数全体で説明すると、『C列がH2セルの文字列で始まって一致する』と『D列が空欄じゃない』の両方が成立する行の数を数える、ということになります。 どこが一致したのかは、添付図のイメージでわかるでしょうか。 参考:https://support.office.com/ja-jp/f1/article/dda3dc6e-f74e-4aee-88bc-aa8c2a866842 (ワイルドカードの説明で、参考ページにあるとおり「アスタリスクは1文字以上の任意の」と書きましたが、実際には 0文字以上 が正しい気がします)

lulula
質問者

お礼

わかりやすく説明いただき有難うございます!おっしゃる通りI2ではなくH2です。見やすくするため関数式を値で貼りつけた後、列削除したため誤値となりました。また何かございましたら宜しくお願いいたします

Powered by GRATICA

関連するQ&A

専門家に質問してみよう