我正在尝试根据搜索键选择多个值。在它最基本的形式中,没有问题。我按照这个例子,一切顺利:
=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)))
两者都不起作用。 (对不起,如果我弄乱了一些语法和公式名称,我使用的是其他语言版本)
这是一张关于现在正在发生的事情及其外观的小图片:
在右侧网站上,您可以看到Test1
旁边的值列表,由于#NAME?
错误,左侧网站上缺少这些值。
答案 0 :(得分:0)
我建议将csv的文件作为文本文件打开。选择Comma
作为分隔符,然后选择Text
作为列数据格式。这样,Excel会将您的所有数据视为文本,并且不会尝试将=- sometext
视为公式。
为此,您需要将.csv
文件扩展名更改为.txt或其他任何内容(甚至没有文件格式)。
答案 1 :(得分:0)
您可以“导入”它,而不是“打开”CSV文件。这将打开文本导入向导,允许您将特定列指定为文本。它位于不同版本的Excel中的不同区域。在Excel 2007中,它位于“数据”选项卡/“获取外部数据/文本”上。下面的示例演示了如何引入长数,但它应该与您的公式“lookalikes”
一样好用