English 中文(简体)
Google Sheets-添加单元格的值,直到达到X或Y值,然后返回X或Y的答案
原标题:Google Sheets - Add value of cells until it reaches X or Y values, then return answer for X or Y

我正在使用Google Sheets,并试图找出如何为难以解释的事情编写逻辑。

第1列开始从第1-5行编译和计数;如果总和>;=X应输出“成功”;如果总和<;=Y应输出值“Fail”。

例如,求和单元格Row 1,Col 01->;第5行,第1列,直到总和达到>;=“4”。如果达到4,则求和应停止并输出“成功”,如果求和结果达到<;=-1应停止并输出“失败”。

我想将此应用于数据表中的许多不同行。希望你能理解我的想法。谢谢

     Col 01
1    1            
2    2
3    -3 
4    4
5    -2         
最佳回答

当然,我理解你的要求。您希望对一列中的值求和,直到总和达到特定阈值(X)或低于另一阈值(Y),然后相应地输出“成功”或“失败”。您可以使用Google Sheets中的公式组合来实现这一点。

假设您的数据从单元格A1开始,一直到A5,并且您希望将总和与X和Y进行比较:

  1. 在单元格B1中,可以使用以下公式计算累积和:

    =SUM($A$1:A1)
    

    将此公式向下拖动到单元格B5以覆盖整个范围。

  2. 在一个单独的单元格(假设C1)中,您可以编写以下公式来检查累积和是否大于或等于X并输出“成功”,或者是否小于或等于Y并输出“失败”:

    =IF(B5 >= 4, "Success", IF(B5 <= -1, "Fail", ""))
    

    该公式检查单元格B5中的和是否大于或等于4,如果是,则输出“成功”。如果不是,它检查总和是否小于或等于-1,如果是,它输出“失败”。否则,单元格将为空。

现在,您可以将这些公式复制到每一行数据的相应列中,您将根据您的条件获得所需的“成功”或“失败”输出。

如果每行的X值和Y值不同,则可以修改公式以引用该行的特定X值和特定Y值。例如,如果第1行的X和Y值分别在单元格D1和E1中,则单元格C1中的公式为:

=IF(B5 >= D1, "Success", IF(B5 <= E1, "Fail", ""))

如果X和Y值不同,请记住相应地调整每行的单元格引用。

问题回答

SCAN允许您运行累计总和。例如:

=SCAN(0, TOCOL(A2:A,1),LAMBDA(a,v,  a+v ))

它返回累积和的值,因为它将以前的值(a)与新的值(v)相加。现在您只需要添加IF语句:

=SCAN(0,TOCOL(A2:A,1),LAMBDA(a,v,
IF(a+v>=4,"Success",IF(a+v<=-1,"Fail",a+v))))

现在,在成功或失败之后,累积和将停止,因为不可能添加到字符串中。这就是为什么您可以添加IFERROR来清空这些值,如果您想将结果精确地缩小到这些单元格,则可以添加TOCOL:

=TOCOL(IFERROR(SCAN(0,TOCOL(A2:A,1),LAMBDA(a,v,IF(a+v>=4,"Success",IF(a+v<=-1,"Fail",a+v))))),1)

所以,B2中只有一个公式,你会得到这样的结果:





相关问题
How to use year counter google app script?

I need an urgent help i have data as follows in a google sheet i need to add a year counter to the column d as follows using google apps script

Google Spreadsheet multiple column filter using OR

I have a Google Spreadsheet with 3 columns that are either blank or have a value. I want to get the count of the number of rows that has A and either B or C populated. If I were writing a SQL query ...

Run Google Apps Script on Google-Spreadsheet event?

If I create a Google apps script, can I hook it up to Google spreadsheet to run based on an event, or must I manually invoke it? I don t know if Google Sheets supports any events. For example: a ...

How do I insert a row in to a Google spreadsheet using c#

I ve seen; Accessing Google Spreadsheets with C# using Google Data API and http://code.google.com/apis/spreadsheets/data/2.0/developers_guide_dotnet.html#CreatingRows However i m still having ...

using Zend_Gdata_Spreadsheets for public spreadsheets?

I have this code which is working, to load a Google Spreadsheet and load some data from it. If the spreadsheet in question is public, how do i modify the code to not require a username/password? $key=...

Programatically updating a Google spreadsheet

I ve got a pre-existing Google spreadsheet. Each month I update this document. I ve got a template workseet in the spreadseet that I d like to clone and then update. I d prefer to clone the ...

热门标签