- ベストアンサー
エクセルで見積書を一発作成・・
例として5種類の確定された価格表があります。 たとえばNo.5と入力規制されたセルで5を選択すると 見積書の価格が入るセルにNo.5での価格が自動的に選択されて 見積書が完成する為には価格が入るセルに入る関数はどのような関数を利用すればいいでしょうか? 5種類の価格表は別シートで表記されています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
5種類の価格表は別シートで表記されています。 このシートの構成を表示していただくと、より具体的な回答が得られると思いますが、仮に 価格表 A B C D E F 商品番号 商品名 定価 見積ランク 1 2 3 4 5 1001 CD 100000 8000 7000 6000 5000 4000 ・・・・ ととあったとしてVLOOKUP関数(検索値,範囲は価格表のシート!A3:H10000など価格の範囲,表示したいランクがある列番号,FALSE) とか言った式で検索させます。 表示したいランクがある列番号には、INDEX関数(検索値,範囲は価格表の2行目,FALSE) と云った関数で得られます。 商品番号で縦方向に検索させて、見積のランクの番号で横方向に検索し目的の価格を表示させます。 もう一歩前進して、入力する見積の内容はデータとして他のシートに記録していきます。 例、見積データ A B C D E F G 日付 見積番号 取引先コード 商品番号 価格ランク 見積価格 数量 ・・・・ といった内容で、縦方向にデータ入力していきます。 見積価格の列には、VLLOKUP(D3,価格表!A3:H1000,INDEX(E3,価格表!3:3,FALSE),FALSE)といった方向性で検索させます。 そして、別の見積書を印刷するシートを準備して 見積書の番号を入れると、条件にあった一覧表が表示され、見積書を完成させます。 データが残るので、過去のデータを参照することも、実際に発注になった場合の作業にも展開出来ます。
その他の回答 (4)
- hallo-2007
- ベストアンサー率41% (888/2115)
No4です。訂正があります。文中の INDEX関数は MATCH関数の間違いです。 VLOOKUP関数、MATCH関数については エクセルの関数のHelpで調べてみてください。 詳しく使い方が説明されています。
- imogasi
- ベストアンサー率27% (4737/17069)
以って回った質問だが、一覧表を引く関数は VLOOKUP MATCH 関数を使う。 仕事でエクセルを使う人が、VKOOUUP関数を思いつかない 質問が月に数回あるが、エクセルの関数を早く一通りどんなものがあるのか、「あったな」、ぐらい思い起こせるようにすべきです。VLOOKUPはエクセル関数の常識です。 >力規制されたセルで 質問には書く必要なし。表に該当が無ければ、該当なしとか出す方法があるから。 入力規則のリストでも、リスト以外のデータを入れることは可能な設定が出来るから。 入力規則のドロップダウンの中から探すなど、商品名などで、その数が多いときは使いにくいと思いますよ。まあそれはよいとして。 >で見積書を一発作成・・ 表題の書き方が大げさすぎます。単価検索はそのごく一部のことです。 例データ Sheet2のA1:B6 りんご 130 なし 160 ぶどう 200 柿 150 桃 180 桃 180 ーー Sheet1のA1に名前を入れるとする。 B1の関数は =IF(ISERROR(VLOOKUP(A1,Sheet2!$A$1:$B$6,2,FALSE)),"該当なし",VLOOKUP(A1,Sheet2!$A$1:$B$6,2,FALSE)) 未入力の時は空白を追加して =IF(A1="","",IF(ISERROR(VLOOKUP(A1,Sheet2!$A$1:$B$6,2,FALSE)),"該当なし",VLOOKUP(A1,Sheet2!$A$1:$B$6,2,FALSE))) Sheet2のデータはFALSE型の時は順番は気にしなくてよい。 式のセル番地で、範囲には$をつけておくこと。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばシート2に5種類の価格表があるとします。 A2セルからA6セルにNo.1からNo.5が入力されており、B1セルから横方向には1から昇順で数値が例えば5まであるとします。 それぞれの価格はB2からF6セルに入力されているとします。 そこで見積書ですがNo5と入力規制されたセルで5を選択すると価格のはいつセルに自動的に価格が表示されるようにするためには、そのセルに次の式を入力すればよいでしょう。 なお、ここではNo5と表示されているセルがB1セルにあり、C1セルではリストから5が選択され表示されているとします。 =IF(OR(B1="",C1=""),"",INDEX(Sheet2!$A:$F,MATCH(B1,Sheet2!$A:$A,0),MATCH(C1,Sheet2!$1:$1,0))) なお、次の式でもよいでしょう。 =IF(OR(B1="",C1=""),"",VLOOKUP(B1,Sheet2!$A:$F,MATCH(C1,Sheet2!$1:$1,0),FALSE))
- gyouda1114
- ベストアンサー率37% (499/1320)
VLOOKUPでできます。 【エクセルvlookupとは】 http://excel-topics.seesaa.net/article/116329417.html