
エクセルで商品管理をするためのマッピング図の様なものを作成しようと思っているのですが、
今は数あるフロアうちの1フロアずつごとにカウントA関数で数を拾って50+50+50=150
のような感じで在庫の総数をカウントしているのですが、業務の都合上、商品番号30番の商品を部品A部品Bに分けてAフロアとBフロアに分けて置かないといけなくなることがあります。
その場合は両フロア共に30番という番号を記載するため、本来は在庫数150のところがマッピング表図のカウント上は151個在庫があることになります。
「同じ数字があった場合は1個とカウントする。」みたいな条件付きの関数を教えていただきたく書き込みさせていただきました。
関数詳しい方よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
マルチポストされた他の質問は締め切られたようですが、こちらは募集中だったので、回答させていただきました。
マクロ(VBA)であれば、こんな感じです。ユーザ定義関数で実装していますので、標準の関数と同じような使い方ができます。
下記のユーザ定義関数(CountUnique)を標準モジュールに張り付けた後、シートに次の数式を設定してください。
=CountUnique(Sheet1!A1:B10,Sheet2!A1:B10,Sheet3!A1:B10)
※Sheet1!A1:B10はカウントするフロアの範囲です。とりあえず、Sheet1~3までの例としていますが、いくつでも書けます。
【ユーザ定義関数(CountUnique)】
Function CountUnique(ParamArray a() As Variant) As Variant
Dim dic As Object
Dim i As Long
Dim r As Variant
Set dic = CreateObject("Scripting.Dictionary")
For i = LBound(a) To UBound(a)
For Each r In a(i)
If r.Value <> "" Then dic.Item(r.Value) = r.Value
Next r
Next i
CountUnique = dic.Count
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
これはクッションフロア?フロ...
-
フローリング貼りの割付につい...
-
クッションフロアに付いてしま...
-
雨で水浸し、どうしたらよいの...
-
断熱材での防音について
-
ウォーターハンマーって現象知...
-
バスタブで床抜け?
-
乾電池が液漏れしたようで、木...
-
2階に金庫を設置しようと考え...
-
食器棚とかってみんなフローリ...
-
2階の音が響きます。
-
地袋天板と床の間(床板)の耐...
-
畳染太郎と言う商品を使った方...
-
県営住宅に防音室設置は可能?
-
何cmまでが誤差の範囲?
-
プレハブ事務所建築費について
-
ユニットバスの床が白くなって...
-
床の下に上手なバルサンのたき方
-
合板の木口の処理について
-
フローリングに大型家具を置く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これはクッションフロア?フロ...
-
回覧板トラブルどうにかしたい
-
クッションフロアに付いたゴム...
-
クッションフロアについた便の...
-
クッションフロアに付いてしま...
-
クッションフロアの上でコタツ...
-
数年に渡りクッションフロアに...
-
クッションフロア うまく貼れない
-
トイレのクッションフロアの黄...
-
くら寿司 フロア バイトにつ...
-
台所のクッションフロアにテー...
-
脱衣所のクッションフロアー張...
-
クッションフロアを貼る際の三...
-
和室にクッションフロアを張る...
-
クッションフロアのしみ
-
洗面所の床の張り替え。
-
フローリング貼りの割付につい...
-
クッションフロアの上に、クッ...
-
トイレの床(木材)にクッショ...
-
ダイニングキッチンのフロアの...
おすすめ情報
説明不足でした申し訳ありません。
商品番号はAB123やCD456の様にアルファベッドと数値が混ざったもので、
数値だけではありません。
また重複も5個までは無いと思いますが、2個だけではなく3~4個ある場合も今後出てきそうです。
お詫びして訂正いたします。