2015-12-01 3 views
2

Сценарий - 2 листа, Sheet1 и Sheet2.Условная сумма с объединенными ячейками с использованием Sumiif()

Лист1 конфигурации:

Sheet1

Sheet2 Config:

Sheet2

Проблема: клиент хочет ввести ежедневные количества бананов в Лист2 (C: C) и иметь итоговые значения, автоматически добавлять в Sheet1 для номера недели. Проблема, с которой я столкнулся, я считаю, что это объединенные ячейки. Я был успешным, когда я удалил объединенные ячейки и добавил номер недели ко всем ячейкам с помощью этой формулы (= SUMIF (A: A, E3, «Sheet2! C: C)). Но клиент предпочел бы сохранить объединенные ячейки, и с этим он возвращает только первое значение этой недели. Я что-то пропустил здесь? Кажется, я не обволакиваю голову.

ответ

4

Объединенные ячейки - плохая идея по нескольким причинам, и ее следует избегать.

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

=MOD((ROW()+2)/7,1) 

Формат Применяемое формате чисел ;;; (или использовать белый шрифт на белом фоне). Отрегулируйте формулу, если ваши данные начинаются в другой строке.

Обратите внимание, что строка формул ясно показывает, что выбранная ячейка имеет значение 26.

enter image description here

+1

Удивительное решение! По сравнению с [первым решением @ScottCraner] (http://stackoverflow.com/questions/34031885/excel-weekly-sums-with-grouped-cells#34032210) OP сможет использовать регулярный 'SUMIF' на весь столбец и не потерять производительность, поскольку формулы массивов работают плохо, если они применяются ко всему столбцу.Я думал о некоторых UDF, но это легко работать в файле с отключенным макросом, и я рассматриваю его как преимущество. – ZygD

+1

@ZygD Ta. Да, избегайте объединенных ячеек, поэтому вы можете использовать регулярные формулы, которые ссылаются на каждую строку или столбец. Это одна из причин избежать слитых ячеек. Форматирование - это только обледенение на торте. Опытные Excel-пекари имеют это в своей панели инструментов. – teylyn

+1

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

2

Это то, что я нашел:

=SUM(IF(LOOKUP(ROW(Sheet2!$A$2:$A$15),ROW(Sheet2!$A$2:$A$15)/(Sheet2!$A$2:$A$15<>""),Sheet2!$A$2:$A$15)=A2,Sheet2!$C$2:$C$15)) 

Это формула массива. Войдите в лист 1 C2. Hit CtrlShiftВведите. Затем скопируйте.

0

С моей точки зрения, важным аспектом этой конкретной компоновки является то, что через неделю имеет 7 дней и вы публикуете каждый день в неделю. Объединенная ячейка идентифицируется верхней левой ячейкой в ​​объединенной области. Ищем 26 возвратов A2 и ищет 27 возвратов A9. Если вы ссылаетесь на столбец C с этими номерами строк и расширяете диапазон до 7 строк, вы можете суммировать за соответствующую неделю.

В G2 (в соответствии с изображением в комплект поставки),

'volatile OFFSET function 
=SUM(OFFSET(INDEX(C:C, MATCH(E2, A:A, 0)), 0, 0, 7, 1)) 
'non-volatile INDEX function 
=SUM(INDEX(C:C, MATCH(E2, A:A, 0)):INDEX(C:C, MATCH(E2, A:A, 0)+6)) 

Даты в обеих таблицах несущественны за пределы визуальной ссылки.

enter image description here

Смежные вопросы