#google-sheets
Вопрос:
Пожалуйста, я хочу рассчитать сумму соседних ячеек на основе первой ячейки
Как вы можете видеть на рисунке в столбце C есть сумма всех соседних ячеек в столбце B каждой транзакции, основанная на числе в столбце A
Ответ №1:
Учитывая настройки в вашем посте, удалите все из C:C. Затем поместите следующую формулу в C1:
=ArrayFormula(IF(A:A="",,VLOOKUP(A:A,QUERY({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE),B:B},"Select Col1, SUM(Col2) WHERE Col2 Is Not Null GROUP BY Col1"),2,FALSE)))
Я призываю вас (и других, кому это может быть интересно) использовать бесплатные столбцы в тестовом листе, чтобы увидеть, что каждая из следующих совокупных частей делает сама по себе:
1.) =FILTER({ROW(A:A),A:A},A:A<>"")
2.) =ArrayFormula(VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE))
3.) =ArrayFormula({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE),B:B})
4.) =ArrayFormula(QUERY({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE),B:B},"Select Col1, SUM(Col2) WHERE Col2 Is Not Null GROUP BY Col1"))
5.) =ArrayFormula(VLOOKUP(A:A,QUERY({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE),B:B},"Select Col1, SUM(Col2) WHERE Col2 Is Not Null GROUP BY Col1"),2,FALSE))
и, наконец, полная формула:
=ArrayFormula(IF(A:A="",,VLOOKUP(A:A,QUERY({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>""),2,TRUE),B:B},"Select Col1, SUM(Col2) WHERE Col2 Is Not Null GROUP BY Col1"),2,FALSE)))
Комментарии:
1. У меня небольшая проблема, пожалуйста, когда в идентификаторе есть буква внутри формулы, она больше не работает
2. Проблема не ясна из вашего описания. Как правило, если у вас есть дополнительные вопросы (особенно по прошествии нескольких недель), вам следует создать отдельный пост. Однако, если вы поделитесь ссылкой на лист здесь, в комментариях, я посмотрю.