• ベストアンサー

Excelで別のシートの内容を表示させたい

Sheet1のA2からC50までの範囲にデータを出力し(どこのセルに入るかは可変)、 その内容に従ってSheet2の決まったセルに表示させたいのですが、どのような式にすれば良いか教えて下さい。 条件を言葉で書くと、 Sheet1のA列に001があれば、その行のC列の値をSheet2のJ8に表示する。 参考に、Sheet1のA列はコード名、B列は計算内容、C列は計算結果が別のデータベースから出力されます。 計算結果が0だと出力されず、出力したものは2行目(1行目はタイトル行)から詰めて入ります。 その結果、A2からC50までの範囲のどこに入るかわからないのです。 よろしくお願いします。

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

  • ベストアンサー
  • zenjee
  • ベストアンサー率47% (50/106)
回答No.3

No.2 zenjeeです。 No2回答中、一部記述にミスがありましたので訂正します。 下から10行目の =IF(ISNA(MATCH("001",Sheet1!$A$2:$A$50)),"",VLOOKUP("001",Sheet1!$A$2:$C$10,3,FALSE)) のうち、「$C$10」は「$C$50」に 同じく下から5行目の =IF(Sheet1!$A2="","",SMALL(Sheet1!$A$2:$A$14,ROW($A2)-1)) のうち、「$A$14」は「$A$50」にそれぞれ訂正します。 (他の表の計算式をCopy&Pasteしたため、設問のセル範囲に合わせるのをついうっかりしました。すみません。)

chep
質問者

お礼

ありがとうございます。 コードはだぶらずにA列のどこかに出力され、 その結果のC列の値を別シートの特定の場所に出したいと言うことでしたが、余計な説明をしてしまいました。 やってみたところできましたので、大変助かりました。

その他の回答 (2)

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.2

>計算結果が0だと出力されず、出力したものは2行目から詰めて入ります。 計算結果が0というのは、既に別のデータベース上で0という計算結果が出たものはコード名、計算内容、計算結果ともA~C列に表示されないということですか。であれば本来の質問の主目的に関係ないことで、要するに出力結果によって表示される(例えば)「001」がSheet2のどこの行にあろうと、その行にあるC列の値をSheet2のJ8以下に表示したい、だけでいいような気がしますが……。 >Sheet1のA列に001があれば、その行のC列の値をSheet2のJ8に表示する。 J8セルに表示する値は、A列のどの行に入るか分からないコード名「001」のC2の値のみということでしょうか。 それとも「001」の他に「002」など、Sheet1のA2~A50までに入力される他のコード名に応じて出力されるC列の値も、J8以下に順次行を詰めて表示するのでしょうか。 前者の場合なら、Sheet1のA列に「001」が2回以上現れることがないという条件で、No.1 imogasi さんの回答に加え、Sheet1のA列に「001」がなっかた場合にエラー値が出ないようにすることを併せてSheet2のJ8に =IF(ISNA(MATCH("001",Sheet1!$A$2:$A$50)),"",VLOOKUP("001",Sheet1!$A$2:$C$10,3,FALSE)) と入力します。 しかし、もし後者の場合で、かつコード名が001を最小値とする3桁の数字列に限定されているとしたら、一旦Sheet2のA2に =IF(Sheet1!$A2="","",SMALL(Sheet1!$A$2:$A$14,ROW($A2)-1)) を入力、A50までコピーし、Sheet1のA列のデータが行詰めで昇順に反映されるるようにしておいて、J8に IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$C$50,3,FALSE)) と入力,J57までコピーします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

全般に問題の意味がつかみにくいですね。 実例でも挙げてみてはどうでしょう。 特に >Sheet1のA列に001があれば >Sheet1のA列はコード名 コード名でなく、コードではないですか。 ーーー たとえば「Sheet2のJ8に、Sheet1のA列の001のある行のその行のB列やc列の値を持ってくる」 それなら =VLOOKUP("001",Sheet1!$A$2:$C$10,2,FALSE) =VLOOKUP("001",Sheet1!$A$2:$C$10,3,FALSE) のようにすれば良いのでは。 これのおかしい点を指摘してください。 001はA列では2度出てこない保障はありますか。

chep
質問者

お礼

ありがとうございます。 確かにコード名ではなくコードでした。 コードはA列では一回しか出ません。 実際にやってみたところできました。 大変助かりました。