• ベストアンサー

エクセルのsumifの検索値

関数のSUMIFの検索値が15桁以上の場合は16桁目から数字を認識しません。 現在21桁の検索値を認識させる方法は、ないのでしょうか。 よろしくお願いします

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

  • ベストアンサー
  • hakone
  • ベストアンサー率54% (40/73)
回答No.4

imogasiさん、失礼しました。&有難うございます。 #1の回答は間違っているというご指摘だったんですね。 確かに計算できませんでした。 ということで、#1の回答も =SUMPRODUCT((A1:A10="123456789012345678905")*1,B1:B10) に訂正させてください。 m(_ _)m

m-happy-t
質問者

お礼

お礼が、遅くなり申し訳ございません。 思っていたように出来ました、ありがとうございます。

その他の回答 (3)

  • hakone
  • ベストアンサー率54% (40/73)
回答No.3

もし =SUMIF(A1:A12,"<123456789012345678905",B1:B12) という計算をしたかったら、 以下のような式に書き換えてみてはいかがでしょうか。 =SUMPRODUCT((A1:A12<"123456789012345678905")*1,B1:B12) 目的の結果が得られるなら、SUMIFにこだわる必要は ないと思います。 上記の式も、文字列としての比較をしていますので、 桁数などをよく吟味する必要があります。 桁数がばらばらなら、 =SUMPRODUCT((RIGHT(REPT("0",21)&A1:A12,21) <"123456789012345678905")*1,B1:B12) こんな感じでしょうか?

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

問題提起します。不可能ではないでしょうか。自信なし。 (例)A列は’を先頭につけてます。 123456789012345678901 1 123456789012345678902 2 123456789012345678903 3 123456789012345678904 4 123456789012345678905 5 123456789012345678906 6 123456789012345678907 7 123456789012345678902 8 123456789012345678909 9 123456789012345678909 10 123456789012345678907 11 123456789012345678906 12 =SUMIF(A1:A12,"<123456789012345678905",B1:B12) が機能しません。 =SUMIF(A2:A13,"<"&T(A5),B1:B12) も機能しません。 ””のところは””があって文字列に見えるが、比較演算子を除いた部分は数字に変換して扱われてしまい、ここで 数の桁越えの障害になるのではなかろうかと推測した。 別件でエクセルは出来るだけ数字だけの文字列は、数値に置換えるクセがあるように思う。 89012345678901 89012345678902 89012345678903 89012345678904 89012345678905 89012345678906 89012345678907 89012345678902 89012345678909 89012345678909 89012345678907 89012345678906 にして,桁数を減らして見ましたが機能せず。 12345678901 1 12345678902 2 12345678903 3 12345678904 4 12345678905 5 12345678906 6 12345678907 7 12345678902 8 で=SUMIF(A1:A12,D7,B1:B12)でD7に="<"&TEXT(A6,"0" や="<"&A6でも23になりました(予想とおり) ---- 文字列でも大小比較をしてくれることは a 1 b 5 c 3 d 4 で=SUMIF(A16:A19,"<c",B16:B19) が6になります。

m-happy-t
質問者

お礼

ありがとうございます。

  • hakone
  • ベストアンサー率54% (40/73)
回答No.1

EXCELの仕様で、数値の有効桁数は15桁までです。 ということは、 =SUMIF(範囲,検索条件,合計範囲) の範囲に、21桁の数字が入っているなら その範囲も文字列になっていると思われます。 ということで、 =SUMIF(A1:A10,"123456789012345678901",B1:B10) の様に、検索条件の数字を""で囲ってみて下さい。

関連するQ&A