プロが教える店舗&オフィスのセキュリティ対策術

関数のSUMIFの検索値が15桁以上の場合は16桁目から数字を認識しません。

現在21桁の検索値を認識させる方法は、ないのでしょうか。

よろしくお願いします

A 回答 (4件)

imogasiさん、失礼しました。

&有難うございます。

#1の回答は間違っているというご指摘だったんですね。
確かに計算できませんでした。

ということで、#1の回答も
=SUMPRODUCT((A1:A10="123456789012345678905")*1,B1:B10)
に訂正させてください。

m(_ _)m
    • good
    • 1
この回答へのお礼

お礼が、遅くなり申し訳ございません。

思っていたように出来ました、ありがとうございます。

お礼日時:2004/08/03 17:22

もし


=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)
こんな感じでしょうか?
    • good
    • 0

問題提起します。

不可能ではないでしょうか。自信なし。
(例)A列は’を先頭につけてます。
1234567890123456789011
1234567890123456789022
1234567890123456789033
1234567890123456789044
1234567890123456789055
1234567890123456789066
1234567890123456789077
1234567890123456789028
1234567890123456789099
12345678901234567890910
12345678901234567890711
12345678901234567890612
=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
にして,桁数を減らして見ましたが機能せず。
123456789011
123456789022
123456789033
123456789044
123456789055
123456789066
123456789077
123456789028
で=SUMIF(A1:A12,D7,B1:B12)でD7に="<"&TEXT(A6,"0"
や="<"&A6でも23になりました(予想とおり)
----
文字列でも大小比較をしてくれることは
a1
b5
c3
d4
で=SUMIF(A16:A19,"<c",B16:B19)
が6になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2004/08/03 17:21

EXCELの仕様で、数値の有効桁数は15桁までです。



ということは、
=SUMIF(範囲,検索条件,合計範囲)
の範囲に、21桁の数字が入っているなら
その範囲も文字列になっていると思われます。

ということで、
=SUMIF(A1:A10,"123456789012345678901",B1:B10)
の様に、検索条件の数字を""で囲ってみて下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!