Максимальное количество всех возможных последовательных сумм

#excel #excel-formula

#excel #excel-формула

Вопрос:

Есть ли способ записать это с помощью формул.

 =Max(a, a b, a b c, a b c d, a b c d e ...)  
  

Я не хочу использовать VBA для этой задачи, и я не уверен, как подойти к этой проблеме.

Лист Excel, расширенный формулой
Сокращенный лист Excel без формулы

Цели:

1) Для каждого из людей (Билл, Бен, Кэти) я хотел бы сравнить максимальную сумму только X во времени.

Например, в столбце J я хотел бы знать текущее максимальное значение суммы X. Текущей является дата 17/19, потому что это самая последняя запись.

2) Для каждого из пользователей (Билл, Бен, Кэти) я хотел бы сравнить максимальное значение предыдущей записи с максимальным значением моей самой последней записи.

Например, в столбце K я хотел бы сравнить максимальное значение суммы X в 1/5/16 с максимальным значением суммы X в 17/11/16.

3) Я хотел бы, чтобы столбцы J и K пересчитывались по мере ввода новых данных в столбец I. На данный момент, используя решение, упомянутое ниже, в столбце J, я думаю, я бы использовал что-то вроде этой формулы:
=MAX(MMULT(0 (ROW(B9:I9)>=TRANSPOSE(ROW(B9:I9))),B9:I9)
Это решение, похоже, работает, если у меня есть только X, идущие вниз по вертикали.
Кроме того, по мере ввода новых данных столбцы J и K будут сдвигаться вправо, превращаясь в столбцы K и L.

4) Выделенная область в столбцах I и J — это мои выходные разделы, которые зависят от даты ячейки B1.

Например, если бы я изменил дату на 1/1/2016 в ячейке B1, ячейка I7 была бы равна -4, ячейка J7 была бы равна True.

Если бы я изменил дату на 17/16/16 в ячейке B1, ячейка I7 была бы равна 5, а ячейка J7 была бы равна True.

Я немного поиграл с этим, пытаясь использовать SUMIFS для определения суммы X на основе критерия даты.

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

Комментарии:

1. Откуда должны взяться переменные a , b , c , …? Также: должно ли все это быть только в одной формуле? Тогда это будет практически невозможно. Но с использованием вспомогательных ячеек это, безусловно, возможно.

2. Боюсь, я не могу понять, поскольку вы не добавили ожидаемые результаты в столбцы I и J вашего листа для приведенных данных.

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

4. О, хорошо, я немного изменил вашу исходную формулу на =MAX (MMULT(B7: G7,0 (СТОЛБЕЦ(B7: G7)>=TRANSPOSE(СТОЛБЕЦ (B7: G7))))) чтобы ответить на мой вопрос. Есть ли какой-либо способ применить эту формулу, чтобы получить максимальное количество значений, которые являются только X в строке критериев, возможно, с использованием SUMIFS?

5. Итак, после еще большей настройки и экспериментов я получил =MAX(MMULT((B7: H7)*(B5: H5=»X») *(B4: H4<=B1), 0 (СТОЛБЕЦ (B7: H7)>=TRANSPOSE (СТОЛБЕЦ (B7: H7))))))

Ответ №1:

Предполагая, что a , b c и т.д. Находятся в столбце, тогда стандартным подходом будет использование дополнительного столбца с совокупной суммой значений во входном столбце. Тогда вы можете просто взять MAX из столбца с накопительной суммой.

Например. использование совокупной суммы в столбце B с входными значениями в столбце A:

введите описание изображения здесь

С MAX формулой в столбце C:

введите описание изображения здесь

Комментарии:

1. Привет, спасибо за ваш вклад. Я сделал что-то вроде того, как вы опубликовали выше, и это определенно соответствует тому, что я ищу. Я расширил свой первоначальный пост выше.

Ответ №2:

Предполагая, что данные в A1:A5 , вы можете использовать это array formula** :

=MAX(MMULT(0 (ROW(A1:A5)>=TRANSPOSE(ROW(A1:A5))),A1:A5))

который из-за своей энергонезависимости предпочтительнее:

=MAX(SUBTOTAL(9,OFFSET(A1:A5,,,ROW(A1:A5)-MIN(ROW(A1:A5)) 1)))

С уважением

** Формулы массива вводятся не так, как «стандартные» формулы. Вместо того, чтобы нажимать просто ENTER, вы сначала удерживаете нажатой клавиши CTRL и SHIFT и только затем нажимаете ENTER. Если вы все сделали правильно, вы заметите, что Excel заключает формулу в фигурные скобки {} (хотя не пытайтесь вставлять их вручную самостоятельно).

Комментарии:

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

2. Извините, я новичок на этом сайте, поэтому я все еще учусь пользоваться этим сайтом. Я добавлю следующую часть вопроса, отредактировав свой исходный пост.

3. Привет, я опубликовал свой обновленный вопрос выше. Мне нравится ваше решение, и оно определенно отвечает моему первоначальному сообщению. Большое вам спасибо за ваш вклад. Я расширил свой первоначальный вопрос выше.

4. Я думаю, что если у вас есть рабочие решения по концептуальной проблеме, вы должны принять ответ (поставить ему галочку и т.д.) И задать новый вопрос, когда у вас возникнет новая проблема. У вас есть формула массива, которая решает проблему вычисления. Если есть другие проблемы с таблицами, задайте другой вопрос, ИМХО.

5. Вы рекомендуете мне опубликовать мой отредактированный пост в виде нового вопроса? Я также оценил решения в лучшую сторону, но я не думаю, что это заметно, потому что я новый пользователь…