• ベストアンサー

エクセルのデータベース関数又はマクロを教えて

エクセル関数、マクロ勉強中です。シート1の各列には顧客のランク値があります。その下各行にはランクに応じた商品群の価格を記入してあります。シート2、3、・・・は注文伝票で、それぞれ顧客ランク欄を設けています。ランク欄に顧客のランクを入力したとき、ランクに応じた商品群の価格を単価と表示したセル以下の行に表示したいです。データベース関数の組み合わせではどうすれば良いのか、又はマクロ設定で出来るのか、又はVBA記述で出来るのかVLOOKUP関数、オートフィルター等試してみましたが満足できる結果が出ませんでした。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

文章で説明されていますが、質問内容が把握できません(おそらく関数で対応するのが最適な方法だと思われます)。 たとえば、添付画像のセル配置なら、B10セルに以下の数式を入力して下方向にオートフィルします。 =INDEX($B$2:$H$5,MATCH($A10,$A$2:$A$5,0),MATCH($C$8,$B$1:$H$1,0)) 上記の数式は同じシート内で参照していますが、実際のシート名に合わせて参照するセルを変更してください。 ご希望の操作が、上記の回答と異なる場合は、添付画像のように、それぞれのシートのレイアウト(セル番地)などを具体的に提示して、補足説明してください。

whymm
質問者

お礼

素早い対応と、丁重な説明有り難うございました。大変参考になりました。 これがしたかったのです。ようやく難題が一つ解決しました。

その他の回答 (3)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.4

失礼しました、 掲載のアドレスですが 場合により、スマホでは 数式を、見れないようです PCでの閲覧をお願いします

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

アメリカでは 魚を与えるな、取り方を伝えよ と、言う旨の諺があるとか… No.1さんの全く言う通りなのですが 事、 配列数式やデータベース関数、 と、なると 難しくて、そうもいってられない かな とも、思います。 データベース関数は 難しいですよね? ちょっと作ってみました http://1drv.ms/1Arc7cy 開いたら編集ボタンを押してください そうすれば 式が見れるようになると思います 但し、呉々も書き換えないでくださいね 所で VLOOKUPが、駄目だったとか 何件かに渡り 全てを表したいのでしょうか? データベース関数では どうやら一件だけのヒットでないと エラーになるようです お示ししたシートでも 多数同一なものがあるランクを表示させようとすると データベースの方はエラーになります 一方で 配列数式の方は 色を変えているセルの分だけ 何件一致していようとも 表示します 例外処理も入れたので少々長くなってますが ご要望なら解説致します 如何でしょうか?

  • tsukaps
  • ベストアンサー率33% (40/121)
回答No.1

VBAでそういうことはできます。 セルを検索してセルに入れていけば良いだけなので、 日頃からプログラム言語を使っている人からすれば、簡単なのですが、 関数一個でできるようなものではないので、 VBAの入門書を一冊買って読破してみることをお勧めします。

関連するQ&A