Kir*_* S. 7 formulas google-sheets
我有以下Google电子表格:
item have ready need1 need2 need3
A 1 2 1
B 1 2 1 1
C 2 2
Run Code Online (Sandbox Code Playgroud)
等等
我想填写ready如下列:
have列中的值,则将ready列设置为愉快的(例如yes)have列中的值,则不要执行任何操作所以上面的输入,处理时应该如下所示:
item have ready need1 need2 need3
A 1 2 1
B 1 2 1 1
C 2 yes 2
Run Code Online (Sandbox Code Playgroud)
对于第一步,我找到了一个建议的解决方案,这对我不起作用:
=INDEX( SORT( FILTER( D10:H10 , LEN( D10:H10 ) ) ,
FILTER( COLUMN( D10:H10 ) , LEN( D10:H10 ) ) , 0 ) , 1 )
Run Code Online (Sandbox Code Playgroud)
(它返回#REF!)不确定它有什么问题或如何继续下一步.
提前致谢!
小智 6
如果您知道有多少需要的列,或者什至只知道工作表上有多少列,这将非常简单。如果不是这样,则需要查看整个行,则可能必须重新设计一下以避免从单元格中进行循环引用,而公式是该行的一部分。
无论哪种方式,后两个步骤都非常简单-您希望根据条件获得两个结果之一,因此您将要使用=IF。您的条件是“需要”数字小于或等于“必须”数字,并且您希望它说“是”(如果是真的),而不是什么。因此,这给了我们:
=IF(need<=have, "Yes", "")
Run Code Online (Sandbox Code Playgroud)
下面的示例假定您的上表从左上角的单元格A1开始,并且工作表的最后一列是Z
接下来,我们需要找到“需要”和“拥有”。查找“ have”非常容易-只是B列中的数字。
寻找“需求”稍微复杂一些。使用INDEX和时FILTER,您的想法正确,但是您的公式似乎有点复杂。基本上,我们可以FILTER用来过滤出空白值,并INDEX找到剩下的第一个。首先,FILTER:
您要过滤的范围是从D列到Z列的同一行中的所有内容(或最后一列是什么),并且要过滤的条件是这些相同的单元格不能为空。对于您要在单元格C2中键入的公式,可以得到:
=FILTER(D2:Z2, D2:Z2<>"")
Run Code Online (Sandbox Code Playgroud)
接下来,INDEX:如果您提供INDEX一个数组,一个行号和一个列号,它将告诉您该行和列相交的那个单元格是什么。当我们过滤掉空白时,我们只想要过滤后的数组的第一列中剩下的任何东西,这将给我们:
=INDEX(FILTER(D2:Z2, D2:Z2<>""), 1, 1)
Run Code Online (Sandbox Code Playgroud)
或者,因为我们数组中只有一行,并且INDEX非常聪明,所以简单地:
=INDEX(FILTER(D2:Z2, D2:Z2<>""), 1)
Run Code Online (Sandbox Code Playgroud)
综上所述,单元格C2的最终公式为:
=IF(INDEX(FILTER(D2:Z2, D2:Z2<>""), 1)<=B2, "Yes", "")
Run Code Online (Sandbox Code Playgroud)
然后,只需将公式向下拖动任意多行即可。如果工作表更大或更宽,只需将Z更改为最后一列即可。
| 归档时间: |
|
| 查看次数: |
6083 次 |
| 最近记录: |