アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問させていただきます。
例えば、50程の顧客が居るとして商品によって単価が違ったりする場合、
シート1に顧客ごとの商品名や単価を書いた表を作ったとします。
で、シート2で伝票などを作るとしたとして、その顧客名での商品名を
入力すると、その単価が自動的に入力する。というようないい方法は
あるでしょうか?VLOOKUPを使ったりするのかなぁ、などと思ったり
するのですが、単価が違ったりするという部分でよく分からなくて。
説明がうまく出来ていないかもしれませんが、よろしくお願いします。
エクセルは得意ではないので、図解入りで似たような説明がしてあるような
ところがあれば教えてもらえると有り難いです。

A 回答 (6件)

こんばんは!


一例です。

↓の画像で説明します。
Sheet1に顧客別の価格の表を作成しておきます。
一つ一つ単価を入力するのが大変であれば、掛け率でもOKかと思います。しかし掛け率の場合の数式は少し変わってきます。

Sheet2のB4セルに
=IF(OR($A$1="",A4=""),"",INDEX(Sheet1!$B$2:$F$100,MATCH(A4,Sheet1!$A$2:$A$100,0),MATCH($A$1,Sheet1!$B$1:$F$1,0)))
という数式を入れオートフィルで下へコピーすると
画像のような感じになります。
数式はSheet1の100行目まで・F列までの数式にしていますので範囲指定の領域は適当にアレンジしてみてください。

あくまで一案です。
参考になれば良いのですが・・・m(__)m
「エクセルで顧客毎に単価が違う場合の入力」の回答画像1
    • good
    • 0
この回答へのお礼

そうなんです。こういう風にしたかったんです。
数式のほうは難しくて理解できていませんが・・・・。
ところでですね、例えの図なんですが、シート1で商品と顧客名を逆(列と行)に
した場合、数式はどうなるのでしょうか?
できれば教えていただきたいのですが。
よろしくお願いします。

お礼日時:2011/01/18 21:47

例えば表1に顧客名と価格の種類の分類、表2に商品名と価格の種類の一覧、が入力してある場合、添付ファイルのC10セルに以下の数式を入力すると、顧客名と商品名に該当する単価を表示することができます。



=VLOOKUP(B10,$D$2:$G$6,MATCH(VLOOKUP(A10,$A$2:$B$5,2,0),$D$1:$G$1,0),0)
「エクセルで顧客毎に単価が違う場合の入力」の回答画像2
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

お礼日時:2011/01/18 22:51

こんばんは



顧客Noを使う方法です。
1から始まる通しナンバーです。
実際には、Vlookup関数の中では列番号で指定しているだけです。顧客Noとは連動していません。
顧客Noに欠番や重複があると社名と参照している列が一致しなくなりますので注意してください。

Sheet1のデータは添付の図のようになっています。


Sheet2の
B2に
=HLOOKUP(B1,Sheet1!B1:F2,2,FALSE)
が入っています。B1に顧客Noを入力すると顧客名が表示されます。


B5に
=VLOOKUP(A5,Sheet1!$A$3:$F$8,$B$1+1,FALSE)
が入っています。以下、オートフィルしてください。
「エクセルで顧客毎に単価が違う場合の入力」の回答画像3
    • good
    • 0
この回答へのお礼

どうもありがとうございます

お礼日時:2011/01/18 22:54

商品群と顧客を2次元表にまとめられる(その作成・更新も含め煩わしさに耐えられるなら)なら


MATCH関数で商品列で何処の行(y)にあるか商品を見つけ、顧客名が在る第1行目において、顧客名をMATCH関数でどの列にあるか(x)を見つけ、INDEX関数で=INDEX(表のセル範囲,y,x)で交叉するセルのデータ(=単価)がとらえられる。
これは教科書例題的な回答である。
ーー
しかしエクセルでは、運用(単価の変動の登録など)で無理が出てくると思う。アクセスをはじめデータベースを使うべき課題だと思う。
エクセルの単価シートを作って参照するなら、キーに誤って手を触れて誤って1文字変えてしまったなどの防止策を取らないと
危なっかしい。
ーー
もうひとつ、購買数量条件(A社でも1000個以上買えば1個200円に値引など)などが加わると関数ではお手上げでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2011/01/18 22:55

http://www.asahi-net.or.jp/~zn3y-ngi/YNxv982.htm …
名簿から検索して別のシートに貼り付けるには?

http://oshiete.goo.ne.jp/qa/4005675.html
ユーザフォームを使ってのデータの書き換え(エクセル)

どこまで参考になるかは見て判断してください。



商品と顧客の提示単価は2次元(縦軸横軸)管理でない方がいいです。
顧客や商品が増減したときにどうメンテナンスするのか、
そういうことまで考えた設計でない。
また、
商品は4,5件というわけではないので、
単価データは外部のテキストファイルなどとインポート、エクスポートできるのが良い。

「顧客提示単価」列と「商品」列と持たせて
複合条件で行検索するのがいいでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2011/01/18 22:56

No.1です!


他の方々からより良い回答が出ていますが・・・

とりあえず前回のSheet1の行・列を入れ替えた方法での数式になります。

前回の数式と今回の数式の違いを見比べてみてください。
データは↓の画像のようにしています。(今回はSheet1の100行目まで・商品はB~G列まであるとしています)

Sheet2のB4セルに
=IF(OR($A$1="",A4=""),"",INDEX(Sheet1!$B$2:$G$100,MATCH($A$1,Sheet1!$A$2:$A$100,0),MATCH(A4,Sheet1!$B$1:$G$1,0)))
という数式を入れオートフィルで下へコピーしています。

行・列を入れ替えた場合の違いは判っていただけたでしょうか?m(__)m
「エクセルで顧客毎に単価が違う場合の入力」の回答画像6
    • good
    • 2
この回答へのお礼

何度もありがとうございます。
他の人も色々と教えて下さいましたが、最初に画像付きで
分かりやすく説明して下さったので、ベストアンサーに
させていただきます。
本当に 有り難う御座いました。

お礼日時:2011/01/19 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています