
下記のエクセル表があります。
B列は商品番号でセルの書式設定は0000を設定しており、C列は数値です。
F2セルは検索対象を入力するセルで、こちらの書式設定も0000を設定しいます。
4桁の商品番号は小番なしの商品番号で、
0000-0000形式の商品番号は「親番号-子番号」という内容で、集計に必要なのは子番号です。
(------)B列 C列
(1行目)商品番号 販売個数
(2行目)1786 3
(3行目)1789 3
(4行目)0019-0019 2
(5行目)0019-0599 2
(6行目)0906 1
-----------------------
F2セルは商品番号を入力。0000-0000形式の商品番号であれば下4桁のみを入力する。
-----------------------
そこで下記の式を入力すると4桁の商品番号の集計結果は正常ですが、0000-0000形式の集計は常に「0」となります。
①=SUMIF(B:B, F2, C:C)
次に下記の式を入力すると、反対に、0000-0000形式の集計結果は正常ですが、4桁形式商品番号の集計結果は常に「0」となります。
②=SUMIF(B:B, "*" & TEXT(F2, "0000"), C:C)
先日、この件を質問させていただき、配列をうまく利用すればうまくいくよとアドバイス頂いたのですがうまくいかず、というより理解できず;、ですので、①②の結果は正常なので、IFで分岐させればいいのではと考え(→IF(ISNUMBER(SEARCH("-",B1)),"ハイフンあり","なし"))、次の式を考えたのですが正常な結果を示しません。4桁の商品番号の集計は正確ですが0000-0000形式の商品番号は常に「0」です。
=IF(ISNUMBER(SEARCH("-", B2)), SUMIF(B:B, "*" & TEXT(F2, "0000"), C:C), SUMIF(B:B, F2, C:C))
そこでハイフン検索がうまくいっていないかと考え、下記の式でためしたのですが、結果は正常で、ハイフンがある場合はtureを返します。
=IF(ISNUMBER(SEARCH("-", B1)), "ハイフンあり","ハイフンなし")
結果が正常でないためどこかに誤りがあるのは明白ですが、
上記につきましてのご指摘がございましたらご教授いただけますと幸いです。
以上、よろしくお願い申し上げます。
No.3
- 回答日時:
商品番号を文字列にしてしまえば、シンプルになります。
・B列とF2セルのセル書式を、文字列にする。
・G2セルの式に「=SUMIF(B:B,"*"&F2,C:C)」を設定。
No.2
- 回答日時:
B列の表示形式は、ハイフンを含むセルが文字列扱いなので、
0000だと正しく認識されません。
0000;;;@のように文字列に対応する設定にします。
(これならロケールの問題は発生しません)
複雑な式にするよりも、B列を対象にした作業列を用意して、
文字列として取り出して検索対象にしたほうが簡単です。
例えばD列に
=RIGHT(TEXT(B2,"0000"),4)
でオートフィルして文字列としての4桁を出します。
この作業列を範囲にすることで、①の式が有効になります。
=SUMIF(D:D,F2,C:C )

現時点、下4桁を抜き出したD列で仰せのように処理しておりましたが、0000;;;@ という方法は知りませんでした。
アドバイスありがとうございました!
No.1
- 回答日時:
一つ確認ですが、例えば0019-0019だと、表示形式はどのように設定していて、そのセルを選択すると数式バーにはどのように表示され
ているのですか?ご回答ありがとうございます!
B列を全選択して書式は「ユーザー定義」で0000を設定していたはずなのですが、今確認すると、「その他」のCondigo Postalというものになっていました。
再度B列を選択し「ユーザー定義」で0000を設定しても「その他」のCondigo Postalのままです。
この件につき今調べると直しようがないとの記事がありました。
エクセルは2019を使用しています。
https://oshiete.goo.ne.jp/qa/3100208.html
0019-0019のセルを選択した数式バーは「0019-0019」に表示されており、
1786のセルを選択した数式バーは「1786」でそのままです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
固定電話着信履歴 181 ・・・・...
-
823で始まる電話番号
-
電話をかけるのに、違う番号を...
-
電話番号 +817673467911という...
-
すべて「ひとつ・・・」ではじ...
-
エクセル ADO Filterでは一気...
-
至急お願いいたします! ゆう...
-
フリーダイヤルのけた数
-
81・・・・・から始まる電話...
-
同じ商品なのに、JANコード...
-
不気味な番号
-
66から始まる番号
-
1から5までの番号が1つずつ書か...
-
P/Nとは?
-
ファイル名に「1-1、1-2...
-
その曲が弾けるようになるまで...
-
パチンコの抽選入場って、番号...
-
MS Wordで図表番号を1から振り...
-
公衆電話番号
-
UL規格のイエローカード番号...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
999で始まる電話番号から着信が...
-
電話をかけるのに、違う番号を...
-
81・・・・・から始まる電話...
-
固定電話着信履歴 181 ・・・・...
-
至急お願いいたします! ゆう...
-
同じ商品なのに、JANコード...
-
体育の時の4列横隊ってどーやっ...
-
823で始まる電話番号
-
フリーダイヤルのけた数
-
電話番号 +817673467911という...
-
if関数を使って割引率をだす
-
すべて「ひとつ・・・」ではじ...
-
pcでGoogleアカウントを作ろう...
-
1から5までの番号が1つずつ書か...
-
携帯番号変える時は、それなり...
-
昔のスマホのLINEからプッシュ...
-
内線番号一覧が分かりづらい
-
不気味な番号
-
P/Nとは?
-
FAX番号の英語表記とは?
おすすめ情報
AIさんに聞いてだいたい分かりました。
そうですよね「IF(ISNUMBER(SEARCH("-", B2)),」ではB2だけを判定としているため、B2の値がfalseならあとは全部falseで処理されますよね。。。
VBAであれば簡単に処理できそうですがVBAを使用するほどではないので、
やはり今しているようにD列に下4桁を抜き出して集計するようにします。
taglet様のお教え頂いた方法で目的がいろいろと達成できそうです。
本日でこのスレッドは終了しますが、それまでで何か知っておいたほうが良いという情報がありましたらお教えいただけましたら幸いです。
ご回答いただきました皆様、誠にありがとうございました!
色々考え、やはり最初にしていたようにD列に下4桁を抜き出し、それを対象にしていこうと思います。数値のほうがいろいろ都合がよさそうですので。
皆様この度はありがとうございました!
今回はmike32様の方法でいくことにしました。
その方法で問題ありませんでした。
if分岐がダメで、片方づつの集計が合ってるのであれば足せばいいだけという点は盲点でしたし、単純なことこそ盲点になるものだと改めて痛感しました。他にもいろいろ当てはまりそうです。
皆さまありがとうございました!