在列表中查找多个值

时间:2014-03-27 21:21:21

标签: excel excel-2010

我正在尝试根据搜索键选择多个值。在它最基本的形式中,没有问题。我按照这个例子,一切顺利:

http://office.microsoft.com/en-us/excel-help/how-to-look-up-a-value-in-a-list-and-return-multiple-corresponding-values-HA001226038.aspx

=IF(ISERROR(INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$A$10,ROW($A$1:$A$7)),ROW(1:1)),2)),"",INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$A$10,ROW($A$1:$A$7)),ROW(1:1)),2))

但问题是,在我的情况下,我有多个CSV文件(外部),我的A$列中的某些值如下所示:

=- sometext // results into #NAME? error

Excel将这些解释为一个公式,它实际上只应该是一个字符串。当然我可以将其更改为文本并再次保存,但我想避免在这些CSV文件中进行任何操作。

我试图扩展第二个IF语句(如果你从左到右阅读):

IF(AND($A$1:$A$7 <> "#NAME?", $A$1:$A$7=$A$10,ROW($A$1:$A$7))) 

IF(AND(NOT(ISERROR($A$1:$A$7)), $A$1:$A$7=$A$10,ROW($A$1:$A$7)))

两者都不起作用。 (对不起,如果我弄乱了一些语法和公式名称,我使用的是其他语言版本)

这是一张关于现在正在发生的事情及其外观的小图片:

enter image description here

在右侧网站上,您可以看到Test1旁边的值列表,由于#NAME?错误,左侧网站上缺少这些值。

2 个答案:

答案 0 :(得分:0)

我建议将csv的文件作为文本文件打开。选择Comma作为分隔符,然后选择Text作为列数据格式。这样,Excel会将您的所有数据视为文本,并且不会尝试将=- sometext视为公式。

为此,您需要将.csv文件扩展名更改为.txt或其他任何内容(甚至没有文件格式)。

答案 1 :(得分:0)

您可以“导入”它,而不是“打开”CSV文件。这将打开文本导入向导,允许您将特定列指定为文本。它位于不同版本的Excel中的不同区域。在Excel 2007中,它位于“数据”选项卡/“获取外部数据/文本”上。下面的示例演示了如何引入长数,但它应该与您的公式“lookalikes”

一样好用

enter image description here

enter image description here