2016-06-24 2 views
0

Я пытаюсь выполнить формулу AVERAGEIFS для некоторых данных, но есть 2 возможных результата, и, насколько я могу судить, AVERAGEIFS не имеет отношения к этой ситуации.
Я в основном хочу иметь внутри себя ELSE.Инструкция Excel AVERAGEIFS else

В настоящее время у меня 2 диапазоны данных:

  • Первый столбец содержит только «М-Т» значений и «F» (пн-чт и пт).
  • Вторая колонка содержит время.

Времена в строках со значением «F» в столбце 1 на час отстают от остальных.

Я хочу взять в среднем все время, регулируя часовую задержку по пятницам.

Так, например, я хочу, чтобы он занимал в среднем все время, но вычитал 1 час из значений, которые находятся в строке со значением «F» в нем.

То, как я делал это до сих пор является наличие 2 отдельных результатов за каждый день, то в среднем их снова для окончательного один:

=AVERAGEIFS(G3:G172, B3:B172, "M-T") 
=AVERAGEIFS(G3:G172, B3:B172, "F") 

Я хочу, чтобы объединить это в только один результат.
Ближайший я могу получить следующий:

=AVERAGE(IF(B3:B172="M-T",G3:G172,((G3:G172)-1/24))) 

Но это не дает правильный результат.

Любые советы?

+0

Я понимаю, вы имеете таблицу часов для двух отдельных диапазонов для «МТ» и «F» В этом случае умножить средний показатель «MT» с подсчетом отсчетов, полученных с помощью функции Countif для «MT». Аналогично для диапазона F. Затем вы можете получить средневзвешенное значение, суммируя указанные выше умножения с суммой отсчетов от общего числа показаний. Если это не так, вы загружаете или редактируете свой вопрос, чтобы получить пример данных ваших таблиц для лучшего понимания. – skkakkar

+0

Отредактирован основной вопрос. В основном просто хочу получить среднее значение всех значений, но уменьшите значение некоторых ячеек, если значение рядом с ним является «F». –

+0

Является ли значение ячейки в форме 19:17:43 или числовым форматом или строкой. Можете ли вы дать пример формата значения времени. – skkakkar

ответ

0

Законченное просто объединение двух AVERAGEIFS. Понятия не имею, почему я не просто сделать это с самого начала:.

=((AVERAGEIFS(G$3:G171, $B$3:$B171, "F")-1/24)+AVERAGEIFS(G$3:G171, $B$3:$B171, "M-T"))/2 
+0

Мы видели ваши данные образца. Это не соответствует вашему вопросу. Времена в строках со значением «F» в столбце 1 на час отстают от остальных. Я хочу брать в среднем все время, настраиваясь на часовую задержку по пятницам. Среднее время на выборку для пятницы составляет 3:45 вечера, а для M-T - 2:56 вечера. Это соответствует вашим расчетам и противоречит вашему вопросу. Другое противоречие. Первый столбец содержит только значения «M-T» и «F» (Mon-Чт и Fri). В то время как ваши данные образца содержат X и FX. Если ваши базовые данные не изменятся, ни один из них не сможет вам помочь. – skkakkar

+0

Другим моментом является то, что ваша предложенная формула также не работает во всех случаях выборки. Он дает ошибку, за исключением первого случая. Вы также не ввели формулу Array правильно. Мы просим вас просмотреть образцы данных в соответствии с вашим оригинальным сообщением. В противном случае нам, возможно, придется рассмотреть вопрос об отборе вашего ответа. – skkakkar

1

Попробуйте

 =(SUMPRODUCT(G3:G172)-(COUNTIF(B3:B172,"=F")/24))/COUNTIF(B3:B172,"<>""""") 

Snapshot showing formula on sample data

РЕДАКТИРОВАТЬ Объясняя различные шаги в формуле, как по данным выборок в снимок.

  • SUMPRODUCT (G3: G17) суммирует все значения от G3 до G17. Он дает значение 4.635416667. Это после форматирования до [h]: mm дает значение из 111.15
  • OP желает, чтобы в пятницу время было на один час меньше. Таким образом, я сохранил на час меньше, чем в пятницу. Подобный SUMPRODUCT на H3: H17 приводит к значению 4.510416667. Это после форматирования до [h]: mm дает значение из 108.15. Что ровно на три часа меньше для трех пятен пятниц в данных выборки.
  • =COUNTIF(B3:B17,"=F") подсчитывает случаи пятницы в диапазоне B3: B17, которые являются 3 вхождениями. С 3-х часами приходится меньше. Эти часы должны быть представлены в течение 24 часов, поэтому значение функции COUNTIF() делится на 24. Это дает 0,125. То же самое относится к значениям 4.635416667 и 4.510416667, то есть 0,125
  • Демонстрационный столбец H предназначен только для иллюстрации. Значения Infact Friday, составляющие 108,15, в образце данных должны быть разделены на общие точки данных, чтобы получить СРЕДНЕЕ. Вхождения точек данных вычисляются на =COUNTIF(B3:B17,"<>""""") с проверкой пустых столбцов.
  • Таким образом, 108: 15, деленный на 15 точек данных, дает 7:13 в ответе.

    Пересмотренный РЕДАКТИРОВАТЬ На основе предложений по @tom Шарп

@TomSharpe был достаточно любезен, чтобы указать на недостатки в методе, предложенном мною. COUNTIF(B3:B172,"<>""""") дает слишком много значений и не рекомендуется. Вместо этого предпочтительны COUNTA(B3:B172) или COUNT(G3:G172). Лучше формула, чтобы получить СРЕДНЕЕ согласно его предложение дает очень точные результаты и пересмотрены:

=AVERAGE(IF(B3:B172="M-T",G3:G172,((G3:G172)-1/24))) 

Это формула массива. Он должен быть введен с помощью CSE и дополнительной ячейки для форматирования времени.

+0

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

+0

@ Андреев Севценко Я редактирую свой ответ, объясняя каждый шаг на благо других. Если они заинтересованы в этом решении. Далее я загрузил рабочий файл, который вы можете настроить в то же время. [excel averageifs question question dt 24-06-2016] (https://dl.dropboxusercontent.com/u/65565270/stackoverflow/Jun_2016/excel%20averageifs%20statement%20question%20dt%2024-06-2016.xlsm) – skkakkar

+0

@ Андрея Севценко Я отредактировал свое сообщение с объяснением различных шагов в формуле. Пожалуйста, пройдите через это. – skkakkar

0

Одним простым решением было бы создать отдельный столбец, который отображает временной столбец и выполняет настройку там. Затем сравните этот новый столбец.

Это вариант?

+0

Это может быть, но в основном в крайнем случае. Это часть отчета, который должен быть отправлен и должен быть отформатирован без дополнительных данных. Я бы предпочел сделать это в одной формуле, если это возможно. –

+0

Всегда есть возможность спрятать дополнительный столбец и вернуть результат в видимый столбец. У меня есть таблицы вроде этого, где большая часть работы выполняется в скрытых столбцах. Все пользователи видят поля ввода и сводные данные, большая часть листа скрыта от них. Я думаю, что это упрощает работу с таблицей, а не пытается делать все в одной необычной, нечитаемой формуле. – xarxziux

1

Если столбец M-T и F назван Day и ваша колонка раз называется TIME тогда:

=SUMPRODUCT(((Day="M-T")*TIME + (Day="F")*(TIME-1/24)))/COUNT(TIME) 
Смежные вопросы