Excel formula 如果满足某些条件,则使用公式将单元格值复制到另一张图纸
我试图写一个公式,这样我就可以在另一张表中根据某些标准创建一个子列表。Excel formula 如果满足某些条件,则使用公式将单元格值复制到另一张图纸,excel-formula,google-sheets,Excel Formula,Google Sheets,我试图写一个公式,这样我就可以在另一张表中根据某些标准创建一个子列表。 在sheet1 A和B中有两列。仅当A中的相应单元格满足某些条件时,我才想将值从单元格B复制到sheet2中的新列表。请说明如何操作。您不能使用公式将单元格值复制到另一个单元格值,因为它们只能影响写入的单元格值(通常)… 但是,您可以在Sheet2中编写公式,根据条件从Sheet1中提取数据… 例如,数组公式(使用Ctrl+Shift+Enter输入): 在本例中,我使用的条件是“列A中的值包含字母“o”-不区分大小写”。。
在sheet1 A和B中有两列。仅当A中的相应单元格满足某些条件时,我才想将值从单元格B复制到sheet2中的新列表。请说明如何操作。您不能使用公式将单元格值复制到另一个单元格值,因为它们只能影响写入的单元格值(通常)…
但是,您可以在Sheet2中编写公式,根据条件从Sheet1中提取数据…
例如,数组公式(使用Ctrl+Shift+Enter输入): 在本例中,我使用的条件是“列A中的值包含字母“o”-不区分大小写”。。。让我从里到外解释
会给出ISERROR(FIND(“o”,LOWER(…))
如果值有“o”,则FALSE
TRUE
- 我们正在处理单元格数组
(可以根据需要进行扩展)-因此这为我们提供了一个Sheet1,而不是只给出一个值$A$1:$A$4
和TRUE
值数组FALSE
意味着如果没有'o',我们将得到值9999,否则我们将得到数组中单元格的行号-因此这给了我们一个混合了IF(ISERROR(…),9999,ROW(…)
和行号的数组9999
让我们从数组中选择其中一个值-在本例中,项目按大小顺序排列,我们使用SMALL(…,ROW())
作为计数器(即在Sheet2!A1-ROW()
为1,我们从数组中获得最小值)。。。如果我们有一个标题行,我们可以执行ROW()
例如。。。实际上,我们是通过Sheet1中符合我们条件的排序行号列表进行索引row()-1
将给出Sheet1中B列的值,该值与我们在匹配行列表中的位置有关索引(Sheet1!$B$1:$B$4,…)
- 有时我们有9999(对于所有不符合条件的单元格-这些单元格用
排序到列表的末尾),因此SMALL
索引将给我们一个错误。。。索引超出范围。所以我们可以用一个空白来代替它
=IFERROR(INDEX(Sheet1!$B$1:$B$4,SMALL(IF(ISERROR(FIND("o",LOWER(Sheet1!$A$1:$A$4))),9999,ROW(Sheet1!$A$1:$A$4)),ROW())),"")