如何根据单元格的值查找另一个工作表中的特定单元格?

时间:2011-07-13 15:31:34

标签: excel lookup worksheet-function

我试图在一个名为“看起来像这样的操作”的表中读取

"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";

我希望在工作表中有一个列,该列根据另一个工作表中的operation_id列的值获取相应的名称。 如何根据单元格的值查找另一个工作表中的特定单元格?

实施例

userid, operation_id, operation_name
bob, 3, MACHINING

3 个答案:

答案 0 :(得分:3)

您应该查看DGET(数据库,字段,条件)功能,参考here

或者您可以使用此工作表功能:

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

其中cellWithID是您要使用的ID值的单元格。

答案 1 :(得分:2)

也许Lookup()函数可以更好地为您服务。 http://www.techonthenet.com/excel/formulas/lookup.php

答案 2 :(得分:0)

基于此:“我真正想做的只是查找操作的名称,而不必每次都运行sql查询,或者在每个单元格中都有一个丑陋的巨大if语句。”

我想这里让我感到困惑的是为什么你不只是使用连接。您始终可以将该表作为查找来连接您的sql语句;

select operations.name, tableA.* from tableA 

对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

会做到这一点。然后你可以:

 select tablea.*,LookupOperationName(operationid) from tablea

同样,请记住您的连接示例更高效。您还可以创建一个具有连接的视图,并使用视图代替表....各种各样的事情。