Excel formula Excel公式查找值序列并返回行号

Excel formula Excel公式查找值序列并返回行号,excel-formula,Excel Formula,我有一个列,我试图在其中查找一行中某个值的实例,然后检查正下方单元格中的值是否符合其他条件 输出是一个报告,我在其中查找机器名和班次名的匹配项,然后在列表中的位置给我一个行号。我正在使用它作为各种查找的起点,我将在上面进行查找。我只需要数据集中三个班次的每台机器的起点 我已经添加了一些源数据的图像和我试图构建的输出表。从本质上说,我是从输出矩阵的左侧向上查找机器名,从矩阵的标题中查找移位,并试图从源a数据中获取行号,这些数据都在B列中 查找范围为$B$2:$B$5000 第一个匹配的条件是单元格

我有一个列,我试图在其中查找一行中某个值的实例,然后检查正下方单元格中的值是否符合其他条件


输出是一个报告,我在其中查找机器名和班次名的匹配项,然后在列表中的位置给我一个行号。我正在使用它作为各种查找的起点,我将在上面进行查找。我只需要数据集中三个班次的每台机器的起点

我已经添加了一些源数据的图像和我试图构建的输出表。从本质上说,我是从输出矩阵的左侧向上查找机器名,从矩阵的标题中查找移位,并试图从源a数据中获取行号,这些数据都在B列中

查找范围为
$B$2:$B$5000

第一个匹配的条件是单元格
$I2
内容,下一行的条件是匹配矩阵中第一个单元格的单元格
$K1
内容

正如你所看到的,我在第一列中取得了成功,但在这方面失败了。这是我使用的公式,在出现的第一个班次中,我没有得到机器的匹配项,但根据公式,它并没有真正测试两个标准。它在逻辑上找到了通过和失败,然后放弃

=如果(索引('Kiwi Rep A'!$B:$B,匹配($I2,'Kiwi Rep A'!$B:$B,0)+1,0)=K$1,匹配($I2,'Kiwi Rep A'!$B:$B,0),“未找到”)


您从哪里获取数据?似乎您试图从日志文件中进行一些机器统计。您需要多久运行一次

你应该首先考虑把数据带到适当的形式。正则表达式在这里可能会有所帮助。对于一次性操作,最好使用编辑器(如notpad++)完成。对于可重复的任务,也可以在excel中使用正则表达式

不管怎样,只要形式得当,我的意思是,你可以通过将CR/NL更改为选项卡并将其作为表格加载到Excel中,从而将报告转换为表格。但是,只有当报告的每个条目都具有相同的布局时,这才可能足够简单

将数据作为表格,您可以使用Excel


但是根据数据的不同,这可能还不够。

从哪里获得数据?似乎您试图从日志文件中进行一些机器统计。您需要多久运行一次

你应该首先考虑把数据带到适当的形式。正则表达式在这里可能会有所帮助。对于一次性操作,最好使用编辑器(如notpad++)完成。对于可重复的任务,也可以在excel中使用正则表达式

不管怎样,只要形式得当,我的意思是,你可以通过将CR/NL更改为选项卡并将其作为表格加载到Excel中,从而将报告转换为表格。但是,只有当报告的每个条目都具有相同的布局时,这才可能足够简单

将数据作为表格,您可以使用Excel


但根据数据的不同,这可能还不够。

您是否有到目前为止一直在使用的代码示例?这会找到我要查找的第一个值=索引('Kiwi Rep A'!$B$1:$B$5000,小(如果('Kiwi Rep A'!$B$1:$B$5000=I$3,行('Kiwi Rep A'!$B$1:$B$5000),“未找到”),列($K$1:K$1)),1)这将找到第二个值=索引('Kiwi Rep A'!$B$1:$B$5000,小(如果('Kiwi Rep A'!$B$1:$B$5000=I$3,行('Kiwi Rep A'!$B$1:$B$5000),“未找到”),列($K$1:K$1)),1)输出是一个报告,其中我正在查找机器名的匹配项和班次名的匹配项,然后在列表中的位置给我一个行号。我正在使用它作为各种查找的起点,我将在上面进行查找。我只需要数据集中每台机器的三个班次的起点=IF(索引('Kiwi Rep A'!$B:$B,匹配($I2,'Kiwi Rep A'!$B:$B,0)+1,0)=K$1,匹配($I2,'Kiwi Rep A'!$B:$B,0),“未找到”)在第一班找到机器的第一个实例方面做得很好,但在第二班和第三班的工作中却遇到了困难。您有到目前为止一直在使用的代码的示例吗?这会找到我要查找的第一个值的值=INDEX('Kiwi Rep A'!$B$1:$B$5000,小(如果有)('Kiwi Rep A'!$B$1:$B$5000=I$3,行('Kiwi Rep A'!$B$1:$B$5000),“未找到”),列($K$1:K$1)),1)这会找到第二个值=索引('Kiwi Rep A'!$B$1:$B$5000,小(如果('Kiwi Rep A'!$B$1:$B$5000=I$3,行('Kiwi Rep A'!$B$5000),“未找到”),列($K$1:K$1)),1)输出是一个报告,其中我正在查找机器名和班次名的匹配项,然后给我列表中位置的行号。我将使用它作为各种查找的起点。我只需要数据集中三个班次的每台机器的起点=IF(INDEX('Kiwi Rep A'!$B:$B,MATCH($I2,'Kiwi Rep A'!$B:$B,0)+1,0)=K$1,MATCH($I2,'Kiwi Rep A'!$B:$B,0),“Not Found”)在为第一班找到机器的第一个实例时效果非常好,但随后努力实现第二班和第三班