在Google Sheets中获取最后一行的查询函数

4

我有一个表格,其中的数据每天都会更新。

然而,最后一个整数通常落在第131行到133行之间。

我该如何运行查询函数来显示第1行C列中的最后一个整数?

我不能在C1上简单地进行=A131操作,因为下一天它可能在A133上。

1 1

图像: https://imgur.com/a/pravwxJ


你的问题非常令人困惑。你在第131~133行所说的整数结尾是什么意思?你的查询的确切目的是什么?第一行第C列似乎相当随机。据我理解,你想编写一个查询来查找每列中的最后一个元素,但我无法确定。为了得到答案,你需要让你的问题更清楚明了。 - Jin
你想编写一个查询,找到每列中的最后一个元素。是的,没错。 - sheetsquestions
啊,看来我误解了显示部分。是的,这很简单。我会发布一个答案。 - Jin
2个回答

4

将内容粘贴到C1单元格中:

=QUERY(A1:A, "offset "&COUNTA(A1:A)-1, 0)

0


我对OP的数据有不同的解释。据我理解,A列在前130行(来自其他来源?)填充了整数,之后单元格包含文本和各种其他内容,可能包括日期但不包括整数。根据我的理解,OP的目标是确定包含整数的最后一行。无论如何,OP的“演示”数据包括您的答案未涉及的文本和整数。 - Tedinoz
1
顺便说一句,直到今天我才意识到我之前误解了这个问题,并相应地编辑了我的答案。 - Tedinoz

0
这是我原始代码的简化版本。
输出最后一个整数的值和行号,以供用户参考。
该代码处理日期、文本、伪值文本(37*2)和小数。
function so5754079102() {

  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheetname = "Sheet1";
  var sheet = ss.getSheetByName(sheetname);
  var Avals = ss.getRange("A1:A").getValues();
  var Alast = Avals.filter(String).length;
  Logger.log("Last row = "+Alast);
  var data = sheet.getRange(1,1,Alast,1).getValues();
  for (var i = Alast-1;i>=0;i--){
    Logger.log("i = "+i+", data 1 ="+data[i][0]+", and parse data 1 = "+parseInt(data[i][0], 10));
    if (data[i][0] === parseInt(data[i][0], 10)){
      break; 
    }
  }
  sheet.getRange("D1").setValue(+(i+1));
  sheet.getRange("D2").setValue(data[i][0]);
}

截图

Screenshot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接