Вычисление среднего значения последних 10 записей данных без учета нулей

Я пытаюсь создать лист отслеживания для команды по стрельбе по мишеням нашей местной средней школы. Мой лист Google подсчитает среднее значение всех выстрелов. Однако я пытаюсь написать формулу, которая будет брать среднее значение только из последних 10 записей, опуская при этом все ячейки с 0. Теперь столбец AB5: AB42 будет вычислять среднее значение для каждой строки. В ячейке B3 будет рассчитано среднее значение для всех раундов. Я бы хотел, чтобы ячейка B3 вычисляла только последние 10 записей, игнорируя нули на листе. Любые идеи очень ценятся.

Лист отслеживания

Мне удалось вычислить среднее значение всех раундов в B3, но не удалось вычислить последние 10 записей, опуская нули.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Попробуй это

=average(QUERY(tocol(A2:A,1),"select Col1 where Col1 !=0 offset "&if (COUNTIF(TOCOL(A2:A,1),"<>0")<10,0,COUNTIF(TOCOL(A2:A,1),"<>0")-10)))

Измените ссылки на столбцы на номера столбцов (указанные здесь как A2:A).

Спасибо, это сработало отлично. Последнее, что я пытаюсь сделать, это запустить CountIf внизу столбца, и это работает. Однако теперь я хотел бы запустить CountIf и для последних 10 записей. Это то, что у меня есть для столбца C =Countif (C5:C42,"X"). Что я могу использовать, если мне нужны только последние 10 записей, а не весь столбец? Спасибо еще раз за помощь!

Rocco Barletta 28.06.2024 05:06

Я добавил условие для защиты в случае, если присутствует менее 10 записей. Я не могу получить доступ к документу Google, на который вы ссылаетесь, поэтому, если оставить только ваш комментарий, похоже, вы можете попробовать =COUNTIFS(QUERY(tocol(C5:C42,1),"select Col1, где Col1 !=0 offset "&if ( COUNTIF(TOCOL(C5:C42,1),"<>0")<10,0,COUNTIF(TOCOL(C5:C4‌​2,1),"<>0")-10)),"X"‌ ​)

Kreeszh 28.06.2024 05:29

Спасибо, но, к сожалению, в результате я продолжаю получать 0. Я сделал документ редактируемым, и теперь вы сможете получить к нему доступ. Есть еще предложения? docs.google.com/spreadsheets/d/…

Rocco Barletta 29.06.2024 02:26

О, это определенно помогло увидеть документ. Я обновил его до =COUNTIFS(QUERY(tocol(C5:C42,1),"select Col1, где Col1 не является нулевым смещением "&if (COUNTIF(TOCOL(C5:C42,1),"<>0")<10 ,0,COUNTIF(TOCOL(C5:C4‌​2,1),"<>0")-10)),"X"‌​) и всё работает

Kreeszh 29.06.2024 03:21

Вы можете попробовать что-то следующее, используя API запроса:

=arrayformula( average( query( sort( A2:A, row(A2:A) * ISNUMBER(A2:A), false), "limit 10", 0 ) ) )

Это не пропускает нулевые значения, но вы, вероятно, можете добиться этого, изменив запрос.

Ссылка:

Другие вопросы по теме