在excel表中用textjoin和if函数查找符合条件的内容,假设第一个条件是找到某一个区域内对应被试的序号,第二个条件是该被试所在行的第L列数据为1,此时返回该区域的最后一个值
时间: 2024-09-15 22:10:25 浏览: 81
Python内置函数Type()函数一个有趣的用法
在Excel中,`TEXTJOIN`函数用于将多个文本字符串用特定的分隔符连接起来。`IF`函数用于根据指定条件进行逻辑判断,返回两个结果中的一个。当要结合这两个函数查找符合条件的内容并返回特定值时,可以使用数组公式或者`IFERROR`与`INDEX`和`MATCH`函数组合来实现。
假设我们有一个区域,第一列为被试的序号,L列为相关数据,我们希望找到第一个满足条件(即L列数据为1)的被试序号对应的最后一个值。
我们可以使用以下公式:
```excel
=TEXTJOIN("", TRUE, IF(L2:L100=1, INDEX(数据列区域, MATCH(L2:L100, L2:L100, 0)+ROW(L2:L100)-ROW(L2), 0), ""))
```
在这个公式中,`数据列区域`应该替换为你需要返回最后一个值的具体列区域。公式的工作原理如下:
1. `IF(L2:L100=1, ... , "")`部分会遍历L列的每个单元格,如果单元格的值等于1,则执行后面的`INDEX`函数,否则返回空字符串。
2. `MATCH(L2:L100, L2:L100, 0)`找到第一个满足条件(即值为1)的单元格的位置。
3. `INDEX(数据列区域, MATCH(...)+ROW(L2:L100)-ROW(L2), 0)`通过`MATCH`函数找到的相对位置,使用`ROW`函数计算出对应的数据列位置,并返回该位置的值。
4. `TEXTJOIN("", TRUE, ...)`将`IF`函数返回的每个值连接成一个字符串。
为了确保公式的正确执行,通常需要将其作为数组公式输入(在Excel较新版本中通过输入公式后按`Ctrl` + `Shift` + `Enter`,或者在公式选项中设置为数组公式,而在Excel 365或Excel 2019中直接输入公式即可)。注意,数组公式在Excel的不同版本中输入方式可能有所不同。
此公式假设数据是连续的,并且我们寻找的是第一个符合条件的值。如果数据中有多个符合条件的值,可以通过调整公式来返回最后一个符合条件的值。
阅读全文