Excel按刺激点一致性提取stim1对应Time值至指定列需求
解决Excel条件提取并连续排列数据的问题
控制条件数据提取(AZ列)
在AZ1单元格输入以下公式(Excel 365/2021直接回车,旧版本需按Ctrl+Shift+Enter确认数组公式):
=INDEX($E:$E, SMALL(IF(($D:$D="stim1")*(ISNUMBER(SEARCH("same",$Y:$Y)))*(ISERROR(SEARCH("115",$D:$D))), ROW($E:$E), ""), ROW(A1)))
下拉公式直到出现#NUM!,即可得到48个连续排列的控制条件对应Time值。
实验条件数据提取(BB列)
在BB1单元格输入以下公式:
=INDEX($E:$E, SMALL(IF(($D:$D="stim1")*(ISERROR(SEARCH("same",$Y:$Y)))*(ISERROR(SEARCH("115",$D:$D))), ROW($E:$E), ""), ROW(A1)))
同样下拉公式至#NUM!,得到48个连续排列的实验条件对应Time值。
关键逻辑说明
$D:$D="stim1":精准匹配Code列为stim1的目标行ISNUMBER(SEARCH("same",$Y:$Y))/ISERROR(SEARCH("same",$Y:$Y)):分别筛选控制条件(含same)和实验条件(不含same)ISERROR(SEARCH("115",$D:$D)):排除Code列含115的无效行SMALL(..., ROW(A1)):按行号顺序提取符合条件的记录,实现数据连续排列
优化建议
- 若Y/Z列是精确的"same"文本而非包含关系,将
SEARCH("same",$Y:$Y)替换为$Y:$Y="same",可提升匹配准确性 - 针对大数据量场景,用具体数据范围(如
$D$1:$D$2000)代替整列引用,减少公式计算负荷
内容的提问来源于stack exchange,提问作者Annelies
相关产品推荐
相关产品推荐

