发布网友
共4个回答
热心网友
假如你提供的数据分别在ABC三列,你可以在第四列D列(假设D1单元格)输入=If(ISBLANK(C1),"",IF(C1=-1,A1,"")),然后按住CTRL将鼠标移到D1单元格右下角出现填充柄时下拉填充公式。
你补充的问题没看明白什么意思,请描述清楚或者上图。追问已经上图
追答
假如你的C1=-1呢?
是这样吗?
看明白了,不知道能否满足你的要求,有问题请追问。我这个方法的公式要两个,在你的第一个单元格(比如C1)要这样写:
=IF(ISBLANK(C1),"",IF(C1=-1,IF(MOD(ROW(),5)=1,"",IF(ISBLANK(INDIRECT("A"&ROW()-1)),"",INDIRECT("A"&ROW()-1))),""))
然后在第二个单元格(比如C2)写:
=IF(ISBLANK(C2),"",IF(C2=-1,IF(MOD(ROW(),5)=1,"",IF(C2=C1,"",IF(ISBLANK(INDIRECT("A"&ROW()-1)),"未输入数据",INDIRECT("A"&ROW()-1)))),""))
然后从第二个单元格开始用CTRL向下复制填充公式就行了。
另外如果你的数据填写不是从第一行开始的,那么求余公式(MOD(ROW(),5)=1)后面的余数请自行更改。
又问你请追问。
上图:
热心网友
如果没有-1出现取哪个数
在D1输入公式往下拉
=IF(MATCH(-1,INDIRECT("C"&ROW()*5-5+1&":C"&ROW()*5),)=1,"",INDEX(INDIRECT("A"&ROW()*5-5+1&":A"&ROW()*5),MATCH(-1,INDIRECT("C"&ROW()*5-5+1&":C"&ROW()*5),)-1))
热心网友
假定提取结果放在E列连续区域,可在E1单元格输入公式:
=INDEX(A:A,SMALL(IF((C$1:C$999<>-1)*(C$2:C$1000=-1),ROW($1:$999),65536),ROW()))&""
公式以CTRL+SHIFT+ENTER三键结束,将公式向下复制。
热心网友
编写宏吧,首先判断 cell(?,?)=-1
然后循环 cell(?,i)放入那个地方,就这样就行了追问能具体点吗?