[[20061018092412]] 『計算式について』(あい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『計算式について』(あい)

 下記、計算式をお教え下さい。
 シート1の一覧入力 (今後も増加)
 シート2の印刷シート(各々の該当セルに計算式でシート1より、全て自動入力したい と考えています。)

 番号入力(シート2のA1セル)→名称を表示(シート2のG1セル)
 名称にしたがって各、該当項目へ自動入力(該当セルは20個位)
 宜しくお教え下さい。
 下記、計算式を入れてみましたが上手くいきません。
 A3には内容が入力されてます。
 =MATCH(A1,一覧!$A$6:$CO$30,VLOOKUP(A3,一覧!$A$6:$CO$30,3,0))
 


 この説明は分かりにくいですね。
 Sheet1の一覧の例を挙げ、どのように取出したいか簡単な具体例を示したらどうでしょうか。(茨)


 =MATCH(A1,一覧!$A$6:$CO$30,
                ~~~~~~~~~~~~
 MATCH関数の検索範囲は、複数列(行)の指定はできないのでは?
 (sato)

 茨さん、  説明不足ですみません。
 (sato)さん、仰る通りMATCH関数は行、列でした。
訂正しております。

 以下の様な表をシート1(一覧)で作成済みです。
 A B    C   D   E  F   G 
   名称  日付  タイプ  規格  金額  比率
  1 クレハ  9/10   2K   大   20  10%
  2 オオサ  10/10   1K   中   10  15%
  3 チカラ  07/23   2K   大   30  14%
  4 タカラ  06/20   3K   小    5  12%
  5 ヘット  02/27   1K   中   28  9%

 シート2(印刷)番号A1でシート1の番号を入力、計算式で名称を表示
 名称に従い各々の項目を計算式で自動入力

 尚、シート2にはシート1の同じ内容が全てあります。
 下記、VLOOKUP(A3→タイプです
 

 =MATCH(A1,一覧!A6:A35,VLOOKUP(A3,一覧!$A$6:$CO$30,3,0))
 
 お手数をお掛けしスミマセン。
 宜しくお教え下さい。
  
           (あい)


今ひとつしたいことが理解しきれていないので
とんちんかんだったらすみません。
シート2のA1に番号入力で

其の隣B1に下記数式入力
=VLOOKUP($A1,Sheet1!$A$2:$G$8,MATCH(Sheet1!F1,Sheet1!$A$1:$G$1,0),FALSE)

それをC1〜G1任意の列までコピー
って事かな?

逆に教えて頂きたいのですがMATCH関数の照合形式にVLOOKUPで3列目の日付を
引っ張ってるようですが、

照合形式0・1・−1以外の使い方しか知りませんでした。
それってどういう事なんですか?(左玉)


 =MATCH(A1,一覧!$A$6:$CO$30,VLOOKUP(A3,一覧!$A$6:$CO$30,3,0))
MATCH関数は行番号を返しますよ。(範囲内)
A1 A3を参照して  何を?? 名称を表示(シート2のG1セル)表示には???
(UUU) 
VLOOKUP(A3,一覧!$A$6:$CO$30,3,0)) 3列目の値を返すのに $CO$30 なの $C$30
でよさそうな

 =index(・・・match(・・・),match(・・・))等かな


 (左玉)さん、(UUU)さん

  有難う御座います。
  UUUさん $CO$30は横列のCO列まであります。
  MATCH関数とVLOOKUP関数の組み合わせばかりを考えておりました。
  取りあえずVLOOKUP関数だけで操作出来ました。
  ご助言有難う御座いました。
  (あい)


 VLOOKUP(A3,一覧!$A$6:$CO$30,3,0)) 
返す値が3列目なら A列が1列目なら C列が3列目で後の列は設定範囲外でも

 右へコピーなら下記でも
 VLOOKUP($A3,一覧!$A$6:C$30,column(c1),0))
1列右へコピーで 
 VLOOKUP($A3,一覧!$A$6:D$30,column(D1),0))
                                ↑ が3限定なら
                        ↑  が$C$30で十分ですよ
 (UUU)

 (UUU)さん

  有難う御座います。
  仰る様に列がBO列(横に80セル)位まであります。
 
  >VLOOKUP($A3,一覧!$A$6:D$30,column(D1),0))
                                 ↑ が3限定なら
                         ↑  が$C$30で十分ですよ

  上記の、Column(D1)とはどういう意味になるのでしょうか?
 一応VLOOKUPで全て可能となりましたが参考までにお教え頂けますでしょうか?
 ご指導宜しくお願いします。
        (あい)


 土日を挟んで一覧から流れてしまったので、僭越ながら・・・。
 (あいさんが、まだ見て下さっていると良いのですが)

 COLUMN関数は引数として指定した範囲の列番号を返してくれる関数です。

 VLOOKUP関数を使う場合、(今回のあいさんの運用がこのケースに
 当てはまるかどうかは分かりませんが)「A列をキーにしてB列以降の該当行を
 別のセルに同じ並びで表示させたい」という要望が多いような気がします。
 その時に
 VLOOKUP($A3,一覧!$A$6:$CO$30,3,0)として右にコピーしても
                             ~~~この数字の部分は変わらないので
 VLOOKUP($A3,一覧!$A$6:$CO$30,4,0)と変更する必要が有りますよね。
 その変更を勝手にやってもらおうと思ったときに、COLUMN関数を使ったりします。
 COLUMN(C3)と言う関数は、C列がA列から数えて3列目にあたるので、結果は3です。
 >VLOOKUP($A3,一覧!$A$6:C$30,column(c1),0))
 この数式の        この部分は~~~~~~~~~~「3」を意味します。
 そして、この数式を右にコピーした場合 COLUMN(C1)はCOLUMN(D1)に変わるので
 VLOOKUP($A3,一覧!$A$6:C$30,column(D1),0))
 その数式の       この部分は~~~~~~~~~~「4」を意味することになって
 わざわざ手で打ち変える必要が無くなる。

 ・・・・と言うことですが、こんな説明で分かりますかね?

 (HANA)
 VLOOKUP($A3,一覧!$A$6:C$30,column(D1),0))   これはエラーになりますよ。
                    ↓
 VLOOKUP($A3,一覧!$A$6:D$30,column(D1),0))  こう変化しますよ。
 (UUU)

 >VLOOKUP($A3,一覧!$A$6:D$30,column(D1),0))
                         ^^^^^       ^^^
                           ↑     ↑
            右へコピーしたら
 D$30→E$30   D1→E1  に変化し 4列目の値を返すことが出来る
 (UUU)
 

 あらら、そうですね。
 UUUさんのご呈示の式はあいさんご呈示の式と違っていたようです。
 右にコピーした場合、C$30→D$30に変化しますね。
 訂正ありがとうございます。

 (HANA)

 (UUU)(HANA)さん
 
 土・日空いているのも関わらず確認して頂き本当に有難う御座います。
 大変、参考になります。今回は印刷部分のセル値が横に並んでいるのでは無く色々な表の配置でランダムに並んでいます。
 ですが、是非参考にさせて頂きます。
 ご丁寧にお教え頂き有難うございました。
  (あい)
 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.