エクセルを使って以下のことができるでしょうか?
36品目があり、同じ価格のものが一つもありません。
また36品目はキッチン用品、掃除用品、文具、雑貨で
各9品目です。
これらを、6個セットで販売するための組合せ表を作成し
また、いろいろな条件を設定して組合せ表示させることは
できるでしょうか?
設定条件例
・5個セットの合計が○○円以上○○円以内
・4個以上同じ種類のものが入った組合せの除外
・任意の商品の除外(種類によって在庫数がまちまちなため)
単一条件設定や複数条件設定ができること
など…
エクセルなどのソフトは今まで使ったことがなく、ただ漠然と表計算ソフトだとしか認識してなく、実際どんなことができるのかわかりません。質問内容のようなことができるのか、できないのかの判断だけでも結構です。
また、参考サイトがありましたら教えて頂きたいのでが…エクセル関係を検索しても質問内容が、できるかできないか判断できるサイトを見つけることができませんでした。
もしエクセルでできる場合、出張で表を作ってくれるサービスなどありますか?また、費用はどのくらいするものでしょうか?
No.3ベストアンサー
- 回答日時:
下記の方が答えられているように、組み合わせが
膨大になり、リアルタイムで処理したいのであれば
最適化手法を駆使する必要があるかもしれません。
しかしながら、ある程度パターンが決まっており、
計算結果を表として持っておくのであれば
総当りで計算してもよいと思います。
小さいデータ例で説明します。
Excelの表に
A B C
1k100
2k120
3k140
4s160
5s180
6s200
7b220
8b240
9b260
10z280
11z300
12z320
と入力されているとします。
A列は品目名(ここでは番号で示します)
B列は種類(キッチン用品、掃除用品、文具、雑貨の略)
C列は値段
です。
Excelの[ツール]-[マクロ]-[Visual Basic Editor]
を開き、
そのVisual Basic Editorの[挿入]-[標準モジュール]
を開きます。
そこに以下のコードをコピーしてください。
そして、F5を押してもらうと、
合計金額が500円以上の組み合わせの
品目番号(e-h列)と合計金額(i列)
がシートに書き込まれます。
このコードをを工夫することによって、
目的の条件に合致したものだけ書き出すことが
できます。
'----コードはここから-----
Sub test()
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim n As Integer
Dim goukei As Integer
n = 0
For i1 = 1 To 9
For i2 = i1 + 1 To 10
For i3 = i2 + 1 To 11
For i4 = i3 + 1 To 12
n = n + 1
goukei = 0
goukei = Range("c" & i1)
goukei = goukei + Range("c" & i2)
goukei = goukei + Range("c" & i3)
goukei = goukei + Range("c" & i4)
If goukei > 500 Then
Range("e" & n) = i1
Range("f" & n) = i2
Range("g" & n) = i3
Range("h" & n) = i4
Range("i" & n) = goukei
End If
Next i4
Next i3
Next i2
Next i1
End Sub
'-----ここまで-----
おぉ!具体例まで出していただけるとは!
コードについては理解できませんが、実際どのようになるのか自分でトライしてみようと思います。
とても参考になる回答ありがとうございました。
No.2
- 回答日時:
VBAを使えばできますが、かなり大変だと思いますよ。
種類とか、品目などを除外したとして、
全組み合わせは
36*35*34*33*32*31=1,402,410,240
で、Excelの1シートで扱える行数(65536)をはるかに超えています。
というわけで、パターンを作り出すだけでも難しいですね。
さらに、その中から絞り込みをかけることに
なるわけですから大変です。
VBAを使えば可能なんですか?といってもVBA自体よく分かりません。ネットで検索してみたら、VBAでゲームなども作れるんですね!早速DLして遊んでしまいました(笑)
それは、それとして…
大変だけどVBAで可能ということが分かっただけ進歩しました。
回答ありがとうございました。
No.1
- 回答日時:
エクセルでは使い方を私は4種ぐらいに分けています。
(1)人手操作--通常の操作
(2)関数を使う-関数式を作る
(3)VBA----VBのプログラムを組む
(4)アドイン--特別の機能を実現するソフト
(1)で組み合わせの問題を処理すると、試行錯誤の繰り返しの回数が膨大になったりして、事実上不可能になる可能性が大きい。
(2)は組み合わせには向かないと思う。
(3)はプログラムを組むので、ロジック的には何でも出きるが、試行錯誤の繰り返しの回数が膨大になったり、素人が組むと、素人的場当たり的エラーを含んだプログラムになることが考えられるので万能ではない。
(4)も(3)と似たようなもの。これは熟達者が組んだものを利用するものです。ピッタリのものが見つかれば
良いが、あるとは限らない。
以上はエクセルであるからと言うよりも、手続き的プログラムの限界から来るものと思います。
本質問の型の問題解決は、数学的な裏付けがしっかりした
やり方(アルゴリズムに基ずいて)でやるべきです。「線形計画法」を使った解き方が近いのかなと思う(自信なし)。
IF-THENルール、エキスパートシステム、人口知能などとも
関連する問題と思う。
エクセルのような表計算ソフトは適さないと思います。
---
http://www.affrc.go.jp/seika/data_narc/h10/narc9 …
http://cse.naro.affrc.go.jp/ooisi/xlp.html
のようなものはあるらしいが、エクセルはインプット(データや条件入力)とアウトプット(結果表示)で使われているだけで、解を見つける処理プログラムは、エクセルと関係がないと思われる。
----
「線形計画法」と言えば、エクセルには「ソルバー」(一種のアドインか)と言う機能があり、それでとける問題もある。
http://zhangyi.at.infoseek.co.jp/data_ana/lp.html
以上小生が使いこなしてない分野で、ムード的説明になっており済みません。少しでもご参考になれば幸いです。
とても丁寧な回答ありがとうございます。
回答にあるURLを閲覧してみましたが、ちんぷんかんぷんでした(恥)
質問の内容を実行させるには、やはり別のプログラムを作るべきなんでしょうね。しかし、エクセルすら使い方が分からない私にとっては今から勉強したのでは日が暮れてしまうどころか何年かかるか分かりません。
もし、低料金でプログラムを作成してくれるサービスなど知っていたら、教えていただけますでしょうか?個人法人問いません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Amazon アマゾン 7 2022/06/11 11:03
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- メルカリ <メルカリShops>消費者庁による販売許可の出ている機能性表示食品?の調べ方から 1 2022/11/24 17:46
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- 消費税 消費税の納税額の計算 1 2023/02/19 18:12
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
エクセル 列の最大数はIV?
-
エクセル関数の解読サイトなん...
-
エクセルで数値の上3桁で切捨...
-
xl
-
エクセルに変な矢印が出てクリ...
-
エクセルで検索して、ヒットセ...
-
エクセルのマウス操作(左クリ...
-
エクセルで使えるかわいい枠を...
-
印鑑(jpg)を下が見える加工方...
-
Accessのクエリの結果を、既存...
-
差し込み印刷での小数点表示に...
-
エクセル関数を使用して。
-
デスクトップ上のエクセルが開...
-
特定の倍数の合計は?
-
エクセルデータをメモ帳に
-
「原点を通る回帰式」について...
-
Excelのメールメニューを...
-
遠隔地で1つのエクセルを共有...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
エクセル 列の最大数はIV?
-
エクセルに変な矢印が出てクリ...
-
エクセル関数の解読サイトなん...
-
xl
-
エクセルで数値の上3桁で切捨...
-
エクセルで使えるかわいい枠を...
-
エクセルで検索して、ヒットセ...
-
エクセルのマウス操作(左クリ...
-
差し込み印刷での小数点表示に...
-
添付のエクセルの車検証・運転...
-
エクセルデータをメモ帳に
-
Accessのクエリの結果を、既存...
-
web上にあるエクセルをショート...
-
「ジャストカルク」を使用中の方へ
-
エクセルに貼った画像が変形し...
-
エクセル関数を使用して。
-
エクセルVBAで2つのマクロ...
-
これを作りたいんですがエクセ...
おすすめ情報