Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 搜索行中定义的文本,如果存在,复制并粘贴到同一行和空列中_Excel_Excel Formula_Worksheet Function - Fatal编程技术网

Excel 搜索行中定义的文本,如果存在,复制并粘贴到同一行和空列中

Excel 搜索行中定义的文本,如果存在,复制并粘贴到同一行和空列中,excel,excel-formula,worksheet-function,Excel,Excel Formula,Worksheet Function,我已将联系人信息的文本分隔为PDF文档文本导入的不同单元格。它有800页,我想要的只是包含某些州数据的行。即FL,VA和NC。我希望搜索每一行,如果这三个值中有任何一个存在,那么在A列的同一行中,复制并粘贴它,这样我就可以只将这三个州的联系信息排序到顶部进行编辑 评论中提供的转让澄清: 包括我创建的用于粘贴状态的空列A,数据范围从B到p。状态代码将保证位于它们自己的单元格中,但不在同一列中。我可以一次做一个状态,所以用A1写的第一个公式会要求它搜索右边的所有单元格,如果单元格包含FL,那么在A1

我已将联系人信息的文本分隔为PDF文档文本导入的不同单元格。它有800页,我想要的只是包含某些州数据的行。即
FL
VA
NC
。我希望搜索每一行,如果这三个值中有任何一个存在,那么在A列的同一行中,复制并粘贴它,这样我就可以只将这三个州的联系信息排序到顶部进行编辑

评论中提供的转让澄清:


包括我创建的用于粘贴状态的空列A,数据范围从B到p。状态代码将保证位于它们自己的单元格中,但不在同一列中。我可以一次做一个状态,所以用A1写的第一个公式会要求它搜索右边的所有单元格,如果单元格包含FL,那么在A1单元格中告诉我。。然后我把这个公式一直复制到A列,拉出所有与该状态相关的行

以及需求的变化


好的。。。需要公式来做更多的事情。现在,如果它读取右边的文本FL,它会在a列中放入一个数字,对应于它上面的单元格数量。也就是说,如果FL在C列中,则在同一行的第2列中放置一个2。如果它在E列,它会放一个4。因此,我现在面临的排序问题是,联系人的姓名和街道地址在与州的行的前面,我需要识别该行,以便进行排序。因此,带有地址的行和带有状态的行必须具有唯一的值,以便它们一起排序


对于一次一个状态,应该使用类似于
=MATCH(“FL”,B1:P1,0)
的东西,复制下来以适应

为了同时应对这三个州,我建议:

=IF(ISERROR(MATCH("FL",B2:P2,0)),0,1)+IF(ISERROR(MATCH("VA",B2:P2,0)),0,3)+IF(ISERROR(MATCH("NC",B2:P2,0)),0,5)  

使用表示可能的组合的值。

您也许可以使用类似的内容(我将其分解为几行,否则它会很长):

[此功能从第1行开始。如果数据从第2行开始,则将范围更改为
B2:P2
,将
A2
更改为
A3
]

此函数的结果将是
SS:N
,其中
SS
表示状态,
N
表示唯一ID,该ID将对应于找到状态的行号。我假设行在名称和地址之间交替,然后是包含状态信息的行


排序后,所有行将首先按状态排序,然后按唯一编号排序。

因此
FL
VA
NC
可能位于不同的单元格中?包括我创建的用于粘贴状态的空列A,数据范围从B到P。状态代码将保证位于各自的单元格中,但不在同一列中。我可以一次做一个状态,所以用A1写的第一个公式会要求它搜索右边的所有单元格,如果单元格包含FL,那么在A1单元格中告诉我。。然后我把这个公式一直复制到A列,把所有与该状态相关的行都拉出来。谢谢。就是这样。+1:公式比这个好得多@user3228329:如果您觉得将答案标记为已接受(单击左上角的复选图标)有帮助,请接受他的答案。这就是我们在SO中说谢谢的方式。好吧。。。需要公式来做更多的事情。现在,如果它读取右边的文本FL,它会在a列中放入一个数字,对应于它上面的单元格数量。也就是说,如果FL在C列中,则在同一行的第2列中放置一个2。如果它在E列,它会放一个4。因此,我现在面临的排序问题是,联系人的姓名和街道地址在与州的行的前面,我需要识别该行,以便进行排序。因此,带有地址的行和带有州的行必须具有唯一的值,以便它们可以一起排序。#N/a M19786-P19786 Prima香肠公司3098 76 th ave 3 Processing Medley FL 33166#N/a M19786-P19786 Prima香肠公司77 76 th ave 3 Processing Medley FL 33166抱歉,试图向您展示第一个公式的外观。仅限佛罗里达州。第1行有公司名称和地址,第2行以3开头(说明FL上出现了多少个单元格),然后是单词处理混合FL33166。我需要FL-only公式将唯一的排序文本放在A1(地址和联系线)中,然后简单地将FL放在A2(拉出城市和州行)中。如果这让人感到困惑,很抱歉。你发送的大公式不起作用。我希望只做一个州就可以简化它。提前谢谢,更正。。。我认为这两个单元格(A1和A2)需要与联系人地址(第1行)和城市状态(第2行)的任何其他两行组合相等和唯一,因此底线是,如果检测到一行上的单元格中有FL,则为其赋值,将其放入A2,然后将其正上方的行赋值(A1)相同的值,因此我可以从28000行信息中提取与街道地址(第1行)和城市/州(第2行)相关的每一行组合。谢谢
=IFERROR(INDEX(B1:P1,1,
  IFERROR(MATCH("VA",B1:P1,0),0)+
  IFERROR(MATCH("NC",B1:P1,0),0)+
  IFERROR(MATCH("FL",B1:P1,0),0)
 )&":"&ROW(),IF(A2=A3,"N/A",A2))