Как вы находите разницу между одной ячейкой в ​​столбце и последней непустой ячейкой в ​​том же столбце в Google Sheets? - PullRequest
0 голосов
/ 10 января 2020

Я очень неопытен с электронными таблицами и могу выполнять только базовые c функции и формулы. Мои друзья и я отслеживаем нашу потерю веса в течение следующих нескольких месяцев, поэтому мы ежедневно добавляем наш вес. Я ищу формулу, в которой я могу найти разницу между нашим начальным весом (мой начинается в G8) и последним введенным весом (моя последняя запись будет в G67). Чтобы уточнить, я хотел бы отслеживать мой прогресс как I go, а не просто разницу между первой и последней записями.

Я довольно немного исследовал этот вопрос, но, похоже, только смог найти ответы для Microsoft Excel (который не работал для Google Sheets).

Я включил ссылку на тестовую таблицу, чтобы вы могли увидеть, как у нас выглядит: https://docs.google.com/spreadsheets/d/1RRMsauNAnC8PVjP5ieuHQUDawN33ybzSioajfQxwf_w/edit#gid = 0

1 Ответ

0 голосов
/ 10 января 2020

Вы можете сделать это следующим образом:

=arrayformula(
 {"Begin", B8:H8;
  "Last", {
  indirect("B" & max(filter(row(B8:B67),B8:B67<>""))),
  indirect("C" & max(filter(row(C8:C67),C8:C67<>""))),
  indirect("D" & max(filter(row(D8:D67),D8:D67<>""))),
  indirect("E" & max(filter(row(E8:E67),E8:E67<>""))),
  indirect("F" & max(filter(row(F8:F67),F8:F67<>""))),
  indirect("G" & max(filter(row(G8:G67),G8:G67<>""))),
  indirect("H" & max(filter(row(H8:H67),H8:H67<>"")))}
  ;"Different",{B8:H8}-{
  indirect("B" & max(filter(row(B8:B67),B8:B67<>""))),
  indirect("C" & max(filter(row(C8:C67),C8:C67<>""))),
  indirect("D" & max(filter(row(D8:D67),D8:D67<>""))),
  indirect("E" & max(filter(row(E8:E67),E8:E67<>""))),
  indirect("F" & max(filter(row(F8:F67),F8:F67<>""))),
  indirect("G" & max(filter(row(G8:G67),G8:G67<>""))),
  indirect("H" & max(filter(row(H8:H67),H8:H67<>"")))}})

enter image description here

И вы должны перейти к дополнительным столбцам после столбца H (включая изменение B8: H8 на B8: ~ 8), и если какая-либо дополнительная строка, вы должны изменить номер строки 67 на следующий номер последней строки ваших данных

или

=arrayformula({
               {"Stage";"First";"Last";"Diff"},
               {B7:H7;
                B8:H8;transpose(
                  query(split(
                    query(transpose(
                      query(text(row(A8:A66)*not(isblank(B8:H66)),"0000") & ":" & B8:H66,
                        "Select " & join(",","max(Col" & column(B7:H7)-COLUMN(B7)+1 & ")"))
                  ),"Select Col2"),":",true,false),"Select Col2"));
                B8:H8-transpose(
                  query(split(
                    query(transpose(
                      query(text(row(A8:A66)*not(isblank(B8:H66)),"0000") & ":" & B8:H66,
                         "Select " & join(",","max(Col" & column(B7:H7)-COLUMN(B7)+1 & ")"))
                  ),"Select Col2"),":",true,false),"Select Col2"))
               }})
...