次の方法で共有

Excel関数 SUMIFSで

Masato Nakamura 0 評価のポイント
2026-05-21T06:10:36.3733333+00:00

SUMIFSにて、日付形式2026/01/01を

2026/01/*として検索したい。結果は、0となり思うような検索結果にいたらない。文字列であれば当然できる。

日付形式で2026/01/??すべてヒットするにはどうしたらいいか。


<モデレーター注>
この質問は「Microsoft 365 Insider | Excel | Windows」に投稿されましたが、適切と思われるタグに変更しました。

Microsoft 365 と Office | Excel | 家庭向け | Windows

3 件の回答

並べ替え方法: 最も役に立つ
  1. ひまじん 17,185 評価のポイント
    2026-05-22T07:34:19.28+00:00

    こんにちは。
    横合いから失礼します。

    SUMIFS や COUNTIFS などの関数で、条件を比較式にする場合は、

    • 比較式は文字列として書く。
    • 日付形式の文字列は内部的には日付のシリアル値(数値)として扱われる。
    • 文字列と数値を結合すると結果は文字列になる。

    こういった点に注意して書くようにしてみてください。

    それと、既に他の方からご指摘があるように、ワイルドカードを使った「 2026/01/* 」や「 2026/01/?? 」といった書き方では日付のシリアル値として認識してくれません。この点にもご注意ください。

    下記リンク先( DATEVALUE 関数の記事)に日付のシリアル値に関しての簡単な説明もありますので、ご一読ください。

    https://support.microsoft.com/ja-jp/office/datevalue-%E9%96%A2%E6%95%B0-df8b07d4-7761-4a93-bc33-b7471bbff252


    例えば、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 関数は月末の日付のシリアル値を返す関数です。下記リンク先をご覧ください。

    https://support.microsoft.com/ja-jp/office/eomonth-%E9%96%A2%E6%95%B0-7314ffa1-2bc9-4005-9d66-f49db127d628


    下図は、A列と B列に適当な値を入れた上で、E1セルには上記2、の数式を入れ、F1セルには上記4、の数式を入れた結果です。

    ここでは、A列への入力は全て日付のシリアル値にしています。(普通に日付形式の文字列を入力すれば、日付のシリアル値を入力したことになります。書式はご希望通りになるように変更しています。)

    見分けやすいように計算対象のセル範囲を条件付き書式で色付けしています。(数式の結果には影響を与えません。)

    図1


    既にお分かりかと思いますが、2、の数式も4、の数式も比較式の書き方は全く一緒です。

    求めておられるのが、比較式の書き方そのものだとすれば、こういったセル参照を使った書き方の方が柔軟性があってお勧めです。よろしければ、お試しになってみてください。

    ご参考になれば幸いです。


    【リンクの修正】

    文中のリンクが無効になっていましたので、改めてリンクを有効にしました。( Microsoft サイトへのリンクです。)

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

  2. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  3. Hebikuzure aka Murachi Akira 325.9K 評価のポイント MVP ボランティア モデレーター
    2026-05-21T08:34:22.92+00:00

    Excel では日付データはシリアル値で管理されています。2026/01/01 は実際には 46023 という整数値が格納されています。

    2026/01/*として検索

    のようなワイルドカードでは検索できません。

    この回答は役に立ちましたか?


お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。