データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
こんにちは。
横合いから失礼します。
SUMIFS や COUNTIFS などの関数で、条件を比較式にする場合は、
- 比較式は文字列として書く。
- 日付形式の文字列は内部的には日付のシリアル値(数値)として扱われる。
- 文字列と数値を結合すると結果は文字列になる。
こういった点に注意して書くようにしてみてください。
それと、既に他の方からご指摘があるように、ワイルドカードを使った「 2026/01/* 」や「 2026/01/?? 」といった書き方では日付のシリアル値として認識してくれません。この点にもご注意ください。
下記リンク先( DATEVALUE 関数の記事)に日付のシリアル値に関しての簡単な説明もありますので、ご一読ください。
例えば、A1:A10 のセル範囲で 2026年1月 の日付を検索し、該当行の B1:B10 のセル範囲の値の総和を求めたい場合。
1、日付形式の文字列(日付のシリアル値)を数式内に直接書き込む場合の例。
=SUMIFS(B1:B10,A1:A10,">=2026/1/1",A1:A10,"<2026/2/1")
2、日付形式の文字列(日付のシリアル値)を他のセル(ここでは D1セル)に書き入れてそれを参照する場合の例。
=SUMIFS(B1:B10,A1:A10,">="&D1,A1:A10,"<="&EOMONTH(D1,0))
この数式では、D1セルに 2026/1 と入力すると(内部的には 2026/1/1 と入力したのと同様)、2026年1月 の日付のセル(ここでは A列)の隣のセル(ここでは B列)が計算対象になりますし、2026/2 と入力すると 2026年2月(うるう年も可)の日付のセルの隣のセルが計算対象になります。
尚、D1セルに 2026/1 といったように入力すると、表示(見た目)は Jan-26 のようになるかと思いますので、これを好みの表示形式に変えたい場合(例えば 2026/01/01 といった表示)には「セルの書式設定」の「表示形式」で変更可能です。ただし、「文字列」は設定しないようにしてください。念のためです。
また、例えば、A1:A10 のセル範囲で 2026年1月 の日付を検索し、該当のセルの個数を求めたい場合。
3、日付形式の文字列(日付のシリアル値)を数式内に直接書き込む場合の例。
=COUNTIFS(A1:A10,">=2026/1/1",A1:A10,"<2026/2/1")
4、日付形式の文字列(日付のシリアル値)を他のセル(ここでは D1セル)に書き入れてそれを参照する場合の例。
=COUNTIFS(A1:A10,">="&D1,A1:A10,"<="&EOMONTH(D1,0))
この数式では、D1セルに 2026/1 と入力すると(内部的には 2026/1/1 と入力したのと同様)、2026年1月 の日付のセル(ここでは A列)が計算対象になりますし、2026/2 と入力すると 2026年2月(うるう年も可)の日付のセルが計算対象になります。
尚、D1セルに 2026/1 といったように入力すると、表示(見た目)は Jan-26 のようになるかと思いますので、これを好みの表示形式に変えたい場合(例えば 2026/01/01 といった表示)には「セルの書式設定」の「表示形式」で変更可能です。ただし、「文字列」は設定しないようにしてください。念のためです。
各数式とも一例ですが、手元の環境( Windows11、Microsoft365 の Excel )で動作確認済みです。
尚、EOMONTH 関数は月末の日付のシリアル値を返す関数です。下記リンク先をご覧ください。
下図は、A列と B列に適当な値を入れた上で、E1セルには上記2、の数式を入れ、F1セルには上記4、の数式を入れた結果です。
ここでは、A列への入力は全て日付のシリアル値にしています。(普通に日付形式の文字列を入力すれば、日付のシリアル値を入力したことになります。書式はご希望通りになるように変更しています。)
見分けやすいように計算対象のセル範囲を条件付き書式で色付けしています。(数式の結果には影響を与えません。)
既にお分かりかと思いますが、2、の数式も4、の数式も比較式の書き方は全く一緒です。
求めておられるのが、比較式の書き方そのものだとすれば、こういったセル参照を使った書き方の方が柔軟性があってお勧めです。よろしければ、お試しになってみてください。
ご参考になれば幸いです。
【リンクの修正】
文中のリンクが無効になっていましたので、改めてリンクを有効にしました。( Microsoft サイトへのリンクです。)