Найдите количество клеток для суммирования, чтобы достичь определенного количества

869
gregseth

У меня есть столбец значений (они упорядочены, если это имеет значение): A:A. У меня есть два значения: начальное значение, B1которое также присутствует где-то в A:A, и целевое значение C1.

Допустим, мы можем найти значение B1at A24, я хочу знать, сколько значений мне нужно суммировать A24снизу, чтобы достичь целевого значения C1.

например:

 A |B |C  ------+------+------- 15 | 36 | 140 22 | | 36 | | <--- starting here 42 | | 65 | | <--- there we are 36+42+65 >140 75 | | result = 3 (3 rows to sum) 
0
Мы не сервис написания сценариев. Мы ожидаем, что пользователи сообщат нам, что они пробовали до сих пор (включая любые сценарии, которые они используют) и где они застряли, чтобы мы могли помочь с конкретными проблемами. Вопросы, которые задают только сценарии, слишком широки и могут быть [отложены или закрыты] (http://superuser.com/help/closed-questions). Пожалуйста, прочитайте [Как мне задать хороший вопрос?] (Http://superuser.com/help/how-to-ask). DavidPostill 8 лет назад 1
Как насчет предварительно отформатированных не по теме комментариев? Какой смысл говорить, что я пробовал `COUNTIFS`,` SUMIFS`, `INDEX` или` MATCH`, которые, очевидно, ни к чему не привели, поскольку я задал вопрос здесь? Пожалуйста, скажите мне, что является слишком широким в моем вопросе? gregseth 8 лет назад 0
Суть в том, чтобы указать, что вы по крайней мере что-то попробовали, и сказать нам, что это что-то есть. [Как мне задать хороший вопрос?] (Http://superuser.com/help/how-to-ask): «Тщательно ли вы искали ответ, прежде чем задать свой вопрос? Поделиться своим исследованием помогает всем. Расскажите нам, что Вы нашли и почему это не отвечало вашим потребностям. Это показывает, что вы потратили время, чтобы попытаться помочь себе, избавляет нас от повторения очевидных ответов и, прежде всего, помогает получить более конкретный и актуальный ответ! " DavidPostill 8 лет назад 1

2 ответа на вопрос

2
Gary's Student

В D1 введите:

=IF(A1<$B$1,"",A1) 

и в D2 введите:

=IF(IF(A2<$B$1,"",A2+SUM($A$1:A1))>$C$1,"",IF(A2<$B$1,"",A2+SUM($A$1:A1))) 

и скопировать вниз. Наконец, в другую ячейку введите:

=COUNT(D:D)+1 

enter image description here

Также легко написать пользовательскую функцию (UDF), чтобы получить результат без лишних ячеек.

Спасибо, я не думал использовать дополнительный столбец для промежуточных результатов. gregseth 8 лет назад 0
Разве это решение не дает сумм, начиная с A1, несмотря ни на что? Пожалуйста, проверьте мой ответ тоже SΛLVΘ 8 лет назад 0
0
SΛLVΘ

In D1 put =(A1>=B1)*A1.

In D2 enter =(A2>=B$1)*(A2+D1) and copy down.

In E1: =SUM((D:D<C1)*(D:D>0))+1, confirm by pressing Ctrl+Shift+Enter.

Похожие вопросы