• 締切済み

関数式の作り方を教えて下さい

表から値を取り出すにはどうしたらいいですか? 表の列見出しにカテゴリとして、A2イラスト・A3写真、の項目、行見出しに用途としてB2ポスター・B3ハガキ・・・等の項目があり、使用用途として、例えばイラストをポスターに使用した場合は単価\20、というデータが表になっています。 それぞれの見出しの項目はSheet1にA列データコード、B列カテゴリ(写真・イラスト)のデータベース、Sheet2にA列データコード、B列用途、C列使用者等のデータベース表があり、そこから引っ張ってきて、使用用途料金を表示させたいのです。 例えばVLOOKUPなどは、列番号で指定しないといけないので、"A2"という引数は使えませんよね?なのでどのように参照したらいいのか教えていただければと思います。 よろしくお願いします。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

ご質問の意味がよく理解できていません。 VLOOKUP関数は(検索値、範囲、列番号、検索の型)のように引数が使われますが仮にA2と列番号を使うとしたらCOLUMN(A2)などと使います。その答えはA列ですから1となりますね。列番号として1を指定したことになります。 しかしながらVLOOKUP関数の場合には最も左の列で検索値を探すことになりますね、仮にA列が検索値の列となれば列番号として1を指定するなどということはありません。

yo-mas
質問者

お礼

ありがとうございました。 COLUMNも使えるか確認しながらチャレンジしてみます。 OKWave初心者で、うまく説明をまとめることができずわかりにくくて申し訳ありませんでした。 また分からなくなったら、今度は皆さんに分かっていただけるように質問をしたいと思いますので、またアドバイスをお願いします。

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.1

こんにちは  質問者さんの要求内容が理解できていないのですが.. >例えばVLOOKUPなどは、列番号で指定しないといけないので、"A2"という引数は使えませんよね?  VLOOKUPは、キーが縦(バーチカル)に並んだ表の検索に使い、HLOOKUPは、キーが横(ホリゾンタル)に並んだ表の検索に使います。  ここで具体的な表の構造が説明文から読みとれませんでしたので、これ以上のアドヴァイスができませんm(__;m(ごめんなさい)

yo-mas
質問者

お礼

ありがとうございます。 OKWave初心者で、質問内容をうまく整理することができず説明が下手で申し訳ありませんでした。 もう少し具体的に説明できるようまとめて質問したいと思います。その際にまたアドバイスをよろしくお願いします。

関連するQ&A

  • COLUMN関数でよいでしょうか?

    (Sheet1表1) A列 B列 C列・・・ 空欄 ポスター ハガキ ・・・ 写真 \20 \10 イラスト \15 \2 (Sheet2表2) A列 B列 C列 D列 使用者 コード 用途 用途料金 ウシ 11111 ポスター カメ 22222 ハガキ (Sheet3表3) A列 B列 コード カテゴリ 11111 イラスト 12345 イラスト 22222 写真 23456 イラスト 上記の表があり、Sheet2表2のD列の用途料金を求めたいです。 表1からもってくればいいのは分かります。 ただその表1の参照の仕方が分かりません。 カテゴリ(写真等)はVLOOKUPを使って表3を見に行けばいいのでしょうが、そこから用途(ポスター等)を探して金額を表示させるにはどうしたらいいですか?COLUMN関数なら列番号を返すのでいいかなと思ったのですが、引数に関数は使えるのでしょうか? 他にいい方法があるようでしたら教えて下さい。 よろしくお願いします!

  • 計算するにはどうしたらよいですか?

    昨日下記のような質問をさせていただきました。 (Sheet1表1) A列 B列 C列・・・ 空欄 ポスター ハガキ ・・・ 写真 \20 \10 イラスト \15 \2 (Sheet2表2) A列 B列 C列 D列 E列 使用者 コード 用途 用途料金 印刷枚数 ウシ 11111 ポスター 空欄 1,500 カメ 22222 ハガキ 空欄 1,800 ハト 33333 買取 空欄 3,400 (Sheet3表3) A列 B列 コード カテゴリ 11111 イラスト 12345 イラスト 22222 写真 23456 イラスト 上記の表があり、Sheet2表2のD列の用途料金を求めたいです。 表1からもってくればいいのは分かります。 ただその表1の参照の仕方が分かりません。 カテゴリ(写真等)はVLOOKUPを使って表3を見に行けばいいのでしょうが、そこから用途(ポスター等)を探して金額を表示させるにはどうしたらいいですか?COLUMN関数なら列番号を返すのでいいかなと思ったのですが、引数に関数は使えるのでしょうか? 他にいい方法があるようでしたら教えて下さい。 よろしくお願いします! その際に Sheet2!表2D2=HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0) という式を教えていただき解決したのですが、実は表2D2欄は用途単価を導くのではなく、 IF(C3="買取",0,HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0)),FALSE) と先頭にIF関数がつき、表2E列に追加した「印刷枚数」という項目があり、最終的には「用途単価」*「印刷枚数」の料金を出すのです。で、教わった式に「*E2」を追加してもエラーになってしまいます。 最初からそのように質問しろって感じですよね。計算なら単純に計算式を加えればできると思ってたので・・・ たびたびで本当に申し訳ないですが、どのようにすればいいか、教えて下さい。よろしくお願いします!

  • エクセルの関数について

    検索に使用する関数についてお伺いいたします。 表を二つ作成しました。 シート1には特に項目の指定がなく、番号の若いものから順に左から右に並べた24×8の表があります(表1とします)。 シート2にはいろいろな項目を指定した表があり、B列にランダムに数値が入っています(表2とします)。 表1の範囲に表2のB列の値が入っている場合、表2のA列に◎や*などのなんらかのしるしをしたいのですが、どのような関数を使用すればよいでしょうか? わかりにくい文章で申し訳ありませんが、よろしくお願いいたします。

  • Excel 2003 関数 教えてください

    使用するのはExcel 2003です。 マクロは使用せず関数で実行したいです。 お詳しい方教えてください。 1シート目に元となる表があります。 B列~D列までにあらかじめクライアント情報が入っており、クライアント情報の数の分、行数があります。 A列には、担当者名の入力欄を設け、入力規則のリストで担当者1~5まで選択できるようにしておきます。    A         B              C             D    担当者名    クライアント企業名   クライアント部署名   備考   1            ○○○          △△△          ***    2            ○○○          ◇◇◇          +++      3            ×××          ■■■          ---    2シート目以降、各シートは担当者1~5別のシートになっています。 2シート目 担当者1 3シート目 担当者2 4シート目 担当者3 5シート目 担当者4 6シート目 担当者5 こちらのシートには、1シート目と同じ項目がA~D列まで並んでいます。 A列にはあらかじめそのシートの担当者名が入っています。 全シート、1行目が項目、2行目から下がデータ欄です。 1シート目のA列で担当者名を選択すると、選択された担当者シートのクライアント情報欄(B~D列)に、1シート目該当行のクライアント情報が、反映されるようにしたいです。 その際、2行目から空白行を作らずに反映していきたいです。 作業用の列やシートを作成しても構いません。 マクロを使用したくない理由は、この表を配布する先の使用者のExcelが2003と2013で混在しているためです。 どなたかお知恵をお貸しいただけると助かります。 どうぞよろしくお願いいたします。

  • Excelですが関数式を教えて下さい。

    Sheet1に下記の表があり、Sheet2では氏名順不同でSheet1のB列,C列と小計。D列,E列の小計,合計の表にしたいのです。理屈は簡単そうですが素人でわかりません。何か良い方法があれば教えて下さい。 Sheet1   A   B   C   D    E   F      1     (1)  (2)  (3)  (4)  合計 2 小泉  25  25  23  24   97 3 福田  23  24  20  22   89 4 阿部  24  22  19  25   90 Sheet2  (1)  (2) 合計 1 阿部  46  44  90 2 麻生   ・  ・  ・ 3 ・

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • EXCEL関数について

    EXCELに関しては、ド素人なので分かりやすくお願いします。 以下のような表で、並び替えをして、集計したいです。     A    B    C 1  055501  CD    105             2  055503  ティッシュ 23 3  055510  ポスター  1 4  055525  ペン    28 5  055536  ボード   0 ・   ・    ・    ・ ・   ・    ・    ・ ・   ・    ・    ・ 以上の表で項目が1000項目ほどあり、かつ、ばらばらの順序で、シートが8枚あります。これを、各項目ごとの合計と平均を出したいです。

  • エクセルの関数

    エクセルの関数ですが、 シート1の1行目は見出しが入っています。 C2~C267まで、あ店~け店までの9店舗の店名がランダムに入っています。 D2~D267まで、個人名が入っています。 いろんなデータが2行目から各列に入っています。 シート1のデータは日々更新します。 シート2にシート1のデータを反映したいのです。 シート2の1行目は見出し、 シート2のA2は あ店と入っています。A3~A54は空白(シート1に入っている あ店の個人は53人だという事でA3~A54は空白空白なっています。 A55に   い店  A56~A73は空白。 A74に   う店  A75~A93は空白。 A94に   え店 A95~A144は空白。 A145に  お店 A146~A161は空白。 A162に  か店 A163~A179は空白。 A180に  き店 A181~A212は空白。 A213に  く店 A214~A228は空白。 A229に  け店 A230~A254は空白。 シート2の  C列に シート1のM2から入ってる数値 0以下の人の名前をシート2のB2~B54までに データが0以下の人を入れ込みたいのです(よって、もし 0以下の人が10人だったら、B2~B11まで個人名が入って、B12~B54は名前は入らないて事になります) よって、シート2のB2~B54は、シート1の あ店のM列の 0以下の人を反映して表示したいのです 同じ要領で、シート2のD列にシート1のX列の数値の 1以上の人         シート2のE列にシート1のI列の数値の 1以上の人         シート2のF列にシート1の列の数値の 1以上の人 を反映して表示させたいのです このシート1は日々更新します シート2に随時反映するような関数を教えてください 宜しくお願いいたします

  • エクセル関数で検索能力がある関数を教えてください。

    「シート1」と「シート2」があります。 「シート1」には   1      2 A 通信費  課税仕入 B 借入金  対象外 C 支払利息 非課税仕入 のような表があります。 「シート2」には   1     2 A 通信費 B 交際費 となっていたとします。 この場合、「シート2」のセルA2に、 VLOOKUP関数で「シート1」を参照し、「課税仕入」を表示させることはできるのですが、 「シート2」のセルB2にセルA2の関数をコピーした場合、 「シート2」のセルB1にセルに表示されている「交際費」は「シート1」の表には登録していないため、セルB2にはエラー値が表示されてしまいます。 「シート1」の表に「交際費」を登録すればいいのですが、 自己都合上、「シート2」のセルB2に、 「シート2」セルB1の項目が「シート1」の「1列目」にあれば、「2列目」の項目を表示する。 「シート1」の「1列目」に該当する項目が無ければ、「シート2」のセルB2には「対象外」と表示するようにしたいのです。 言い換えますと、「シート2」の通信費は「シート1」にあるのでVLOOKUP関数で課税仕入を導くことが出来ます。 しかし、「シート2」の交際費は「シート1」に無いため、VLOOKUP関数をしようできません。 「シート1」に無い項目の場合には、「シート2」に「対象外」と表示されるような関数の式が知りたいです。 わかりにくい文章になってしまいましたが、よろしくお願いします。

  • 関数式教えてください。

    関数式教えてください。 シート上に2つの表がありますA・BとしてAの表の数字をBのシートの範囲から値をもとめAシートのセルに出します。Bのシートは1.000~2.000は1500 2.000~3.000は1650など数字範囲があります ○~○の範囲はたくさん あります。 

専門家に質問してみよう