1

У меня есть проект, для которого я должен создать автоматизированную электронную таблицу. Первый лист содержит введенные человеком данные. Например, предположим, что человек вводит сумму Х того, что он получил на дату ХХ / ХХ / ХХ (используйте текст в столбцах в Excel, затем с разделителями, затем нажмите вкладку, пробел и завершите).

       11/19/2015   11/20/2015  11/25/2015  11/30/15    1/2/2016
Apples    4             5           2           7           1
Bananas   6             4           5           7           3
Oranges   3             0           4           0           0

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

        11/21/2015  11/28/2015  1/2/2016
Total      22           11         4
Apples      9            2         1
Bananas    10            5         3
Oranges     3            4         0

Если вы можете заметить, 19.11.2015 и 20.11.2015 приходится на неделю с 21.11.2015, то есть 21.11.2015 отображается только в одной ячейке, а все вещи за эту неделю суммируются. Даты, введенные пользователем, могут быть как можно дальше друг от друга, поэтому я включил 1/2/2016.

Теперь выяснить формулу для сумм должно быть проще, но у меня проблема с отображением еженедельной даты один раз.Одна из вещей, которая может произойти, - то, что пользователь по ошибке вводит одну и ту же дату дважды. Я проверил это с помощью формулы:

=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",__________)

Первая недельная ячейка даты проста, так как она отвечает на первую введенную пользователем дату. Просто:

=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",B1-weekday(B1)+7)

Таким образом, проблема заключается в том, что следующая дата НЕ отображается снова 21.11.2015.

ОБНОВЛЕНИЕ После некоторого поиска в Google моя проблема в основном такая же, как найти k-ое по величине число, чем указанное число. К счастью, было много сайтов, которые давали мне полезную информацию. Итоговая формула, которую я придумал для отображения недельных дат, следующих за первой недельной датой:

=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",IFERROR(LARGE(1:1,COUNTIF(1:1,">"&B17))-WEEKDAY(LARGE(1:1,COUNTIF(1:1,">"&B17)))+7,""))

Эта формула также позволяет ячейкам, следующим за последней недельной датой, отображать "", что можно изменить, чтобы отобразить значение # N/A, если необходимо. Теперь перейдем к правильному суммированию.

1 ответ1

0

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

Если это так, то вы можете использовать следующую формулу в ячейке A2 и заполнить строку 2:

=INDEX($A1:$J1,1,7*(B1-$A1)-4)

Убедитесь, что вы:
О: Убедитесь, что ваши входные данные распознаются как даты, а не как текст, в Excel. Возможно, вам придется изменить даты, введенные в ваш локальный формат (например, дд / мм / гг), чтобы заставить его работать.
B: Увеличьте диапазон $ A1: $ J1 до полной ширины диапазона данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .