2011-07-13 6 views
1

私は別のワークシートでoperation_idを列の値に基づいて適切な名前を取得するワークシート内の列を持ちたいのでセルの値に応じて、別のワークシート内の特定のセルをルックアップするにはどうすればよいですか?

"id";"name"; 
"1";"LASER CUTTING"; 
"2";"DEBURR"; 
"3";"MACHINING"; 
"4";"BENDING"; 
"5";"PEM"; 
"6";"WELDING"; 
"7";"PAINT PREPARATION"; 
"8";"PAINTING"; 
"9";"SILKSCREEN PREPARATION"; 
"10";"SILKSCREEN"; 
"11";"ASSEMBLY - PACKAGING"; 
"12";"LASER PREP"; 

のように見えるの操作と呼ばれるテーブルを読み込むしようとしています。 セルの値に応じて別のワークシート内の特定のセルをルックアップするにはどうすればよいですか?オフ基づか

userid, operation_id, operation_name 
bob, 3, MACHINING 
+0

質問:自分の経験では、ピボットテーブルに少なくとも1つの値の列(集計されている)は必要ありませんか?ここに投稿したデータを見ると、いずれかの列が集計に適しているようには見えません。 – Chains

+1

BTW - sum、averageなどの通常の数学関数ではなく、関数をmin()やmax()などに変更して文字列を集計できます。ハックのようなものですが、あなたの文字列に重複を持っていない、それは動作します。 – Chains

+0

ええ、私は集約したくありません。基本的には、それを使って私が望む価値を調べたいと思っています。 – davidahines

答えて

0

この:「私が本当にやりたいことは、単にSQLクエリを毎回実行した場合、または醜い巨大なを持つことなく、操作の名前を検索され、すべてのセル内の文"

ここで私が混乱している理由は、単に結合を使用しない理由です。 SQL文が何であれ、いつでもそのテーブルを参照として結合することができます。 ;

select operations.name, tableA.* from tableA 

は、あなたがしたい場合、あなたはこれをfunctionizeできoperations.id = tableA.operationid

上の操作を外部結合を残しましたお勧めしません。サブクエリは一般的に悪いニュースです。ただし、

create function dbo.LookupOperationName 
(
@id int 
) 
returns varchar(100) 
as 
declare @returnvalue varchar(100) 
select @returnvalue = name from Operations where id = @id 

return @returnValue 

はトリックを行います。次に、あなたは:

また、あなたの結合の例は、はるかに優れていることに注意してください。あなたはまた、結合を持っているビューを作成し、テーブルの代わりにビューを使用することもできます....あらゆる種類のもの。

+0

私が探しているものをより良く説明するために私の説明を編集しました。 – davidahines

+0

おっと、私はあなたの質問がそこに優秀であることに気付いた。あなたはおそらくExcelベースのソリューションを探しています...ごめんなさい!私は今参照してください。 –

+0

問題はありません! – davidahines

3

DGET(データベース、フィールド、条件)関数hereを参照してください。 cellWithID使用したいIDの値を持つセルである

VLOOKUP(cellWithID, Sheet2!A1:B13, 2, FALSE) 

それとも、このワークシート関数を使用することができます。

+0

毎月私の仕事でこのタイプのことをしています。私はVlookupを使用します。このようなことをするように作られました。 (Excelでこれを行う方法を知りたいと思っています。これはあなたのタグの1つです) – chrisfs

関連する問題