実現したいこと
数値を文字として認識させる。
発生している問題・分からないこと
Excel関数のSUMIFでワイルドカードで条件を指定する場合です。
A1 : 1111 B1:10000
A2 : 11␣11 B2:10000
A3 : 11␣11 B3:10000
A4 : 11␣11 B4:10000
A5 : 11␣11 B5:10000
A6 : 11␣11 B6:10000
A7 : 11␣11 B7:10000
の場合、
C1 : =SUMIF(A:A,”11*”,B:B)
で返ってくる値が「60000」になってしまい、A1の「1111」は条件を満たしたものとしてカウントしてくれないようです。
入力した値の配置もA1はセル内の右詰め、A2~A7はセル内の左詰めになりますが、
A:Aセルはすべてフォントの表示形式が標準・セルの配置も横位置は標準となっています。
「␣ (スペース)」を挟むだけで入力数値の扱いが変わるのはセル内の値が数値認識と文字認識の違いによるものだと思われますが、
B:Bすべてに「1111」を入力しても「0」が返ってきて数式はエラーにならないので「」を「積」の符号としてあつかっているのではないようです。
「A1 : 1111」もワイルドカードを使用した「”11”」にカウントされるようにするにはA1の「1111」の表示をどのように変えたらいいでしょうか。
Excel関数の初歩的な質問になるかもしれませんが、調べてもわかりませんでしたのでご教授のほどよろしくお願いします。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
いろいろ調べましたがわかりませんでした。
補足
特になし
Excel関数のSUMIFでワイルドカードで条件を指定する場合です。
A1 : 1111 B1:10000
A2 : 11␣11 B2:10000
A3 : 11␣11 B3:10000
A4 : 11␣11 B4:10000
A5 : 11␣11 B5:10000
A6 : 11␣11 B6:10000
A7 : 11␣11 B7:10000
の場合、
C1 : =SUMIF(A:A,”11*”,B:B)
で返ってくる値が「60000」になってしまい、A1の「1111」は条件を満たしたものとしてカウントしてくれないようです。
入力した値の配置もA1はセル内の右詰め、A2~A7はセル内の左詰めになりますが、
A:Aセルはすべてフォントの表示形式が標準・セルの配置も横位置は標準となっています。
「␣ (スペース)」を挟むだけで入力数値の扱いが変わるのはセル内の値が数値認識と文字認識の違いによるものだと思われますが、
B:Bすべてに「1111」を入力しても「0」が返ってきて数式はエラーにならないので「*」を「積」の符号としてあつかっているのではないようです。
C1 : =SUMIF(A:A,MID(A:A,1,4)=1111,B:B)
に変更しても戻ってくる値は「0」でした。
「A1 : 1111」もワイルドカードを使用した「”11*”」にカウントされるようにするにはA1の「1111」の数式をどのように変更したらいいでしょうか。
Excel関数の初歩的な質問になるかもしれませんが、調べてもわかりませんでしたのでご教授のほどよろしくお願いします。
> B:Bすべてに「1111」を入力しても「0」が返ってきて数式はエラーにならないので
=SUMIF(A:A,”11*”,B:B)の結果が0ですか?1111*6では?
=SUMIF(A:A,1111*6,B:B)
では「0」が返ります。
=SUMIF(A:A,"11*",B:B)
では「0」が返りますが
=SUMIF(A:A,11*,B:B)
ではエラーになります。
「11*」がエラーになって「1111*6」には値が返る理由がわかりません。
「1111」を文字認識させるために
=SUMIF(A:A,"11"&"*",B:B)
にしましたが、結果は「60000」で「1111」をカウントしませんでした。
「*」のワイルドカードが文字にしか使えないのであれば、「11*」も値を返さなくてはいけないはずです。
=SUMIF(A:A,1111*,B:B)
ではエラーになって
=SUMIF(A:A,1111*6,B:B)
では「0」が返る理由がわかりません。
> B:Bすべてに「1111」を入力しても「0」が返ってきて数式はエラーにならないので
もしかして上記はB列ではなくA列ですか?
参照値はA列・加算する値はB列・数式はC列です。
> 参照値はA列・加算する値はB列・数式はC列です。
それは分かっていますよ。
質問者さんが質問文に書いた「B:Bすべてに「1111」を入力しても」について、10000を1111に書き換えたってことですが計算結果が何故0になるのか分かりませんでしたのでコメントしました。B列の入力値変更に加えて数式も同時に何かしら変更されたのでしょうか??
コメント分が間違っていました。
「B:Bすべてに「1111」を入力しても」→「A:Aすべてに「1111」を入力しても」
です。
訂正してお詫びします。

回答2件
あなたの回答
tips
プレビュー