Сумма ячеек, связанных определенной последовательностью.
buka77
Дата: Среда, 23.05.2018, 08:29 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация:
6
±
Замечаний:
0% ±
Excel 2010
Доброго времени суток. Суть вопроса состоит в том, что необходимо измерить расстояние от начальной точки до конечной. Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений (см. упрощенный пример). Расчет ячеек G15 и G16 должен производится автоматически, исходя из соединений участков по точкам. Нагляднее это увидеть в примере.
Доброго времени суток. Суть вопроса состоит в том, что необходимо измерить расстояние от начальной точки до конечной. Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений (см. упрощенный пример). Расчет ячеек G15 и G16 должен производится автоматически, исходя из соединений участков по точкам. Нагляднее это увидеть в примере. buka77
Ответить
Сообщение Доброго времени суток. Суть вопроса состоит в том, что необходимо измерить расстояние от начальной точки до конечной. Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений (см. упрощенный пример). Расчет ячеек G15 и G16 должен производится автоматически, исходя из соединений участков по точкам. Нагляднее это увидеть в примере. Автор - buka77 Дата добавления - 23.05.2018 в 08:29
Светлый
Дата: Среда, 23.05.2018, 09:20 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация:
536
±
Замечаний:
0% ±
Excel 2013, 2016
С ограничениями на глубину просмотра и левая может быть только 1 массивная (Ctrl+Shift+Enter) формула:Код
=СУММПРОИЗВ(C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
Доб. С учётом левой:Код
=СУММПРОИЗВ(--(A$15:A$20>=E15);C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
С ограничениями на глубину просмотра и левая может быть только 1 массивная (Ctrl+Shift+Enter) формула:Код
=СУММПРОИЗВ(C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
Доб. С учётом левой:Код
=СУММПРОИЗВ(--(A$15:A$20>=E15);C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Среда, 23.05.2018, 09:31
Ответить
Сообщение С ограничениями на глубину просмотра и левая может быть только 1 массивная (Ctrl+Shift+Enter) формула:Код
=СУММПРОИЗВ(C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
Доб. С учётом левой:Код
=СУММПРОИЗВ(--(A$15:A$20>=E15);C$15:C$20;(B$15:B$20=F15)+(МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20)+(МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=МИН(ЕСЛИ(B$15:B$20=F15;A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20));A$15:A$20))=B$15:B$20))
Автор - Светлый Дата добавления - 23.05.2018 в 09:20
buka77
Дата: Среда, 23.05.2018, 11:18 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация:
6
±
Замечаний:
0% ±
Excel 2010
Светлый , спасибо. Формула работает. Но, как я вижу, ее длина зависит от количества участков. А если их буде 50 или 100? Нет ли чего-нибудь универсального, типа ВПР, ИНДЕКС, ПОИСКПОЗ или еще чего подобного?
Светлый , спасибо. Формула работает. Но, как я вижу, ее длина зависит от количества участков. А если их буде 50 или 100? Нет ли чего-нибудь универсального, типа ВПР, ИНДЕКС, ПОИСКПОЗ или еще чего подобного?buka77
Ответить
Сообщение Светлый , спасибо. Формула работает. Но, как я вижу, ее длина зависит от количества участков. А если их буде 50 или 100? Нет ли чего-нибудь универсального, типа ВПР, ИНДЕКС, ПОИСКПОЗ или еще чего подобного?Автор - buka77 Дата добавления - 23.05.2018 в 11:18
anvg
Дата: Среда, 23.05.2018, 13:09 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация:
271
±
Замечаний:
0% ±
2016, 365
Доброе время суток А если их буде 50 или 100? Нет ли чего-нибудь универсального
Более универсально на VBA - поищите по фразе "обход дерева в глубину".
Доброе время суток А если их буде 50 или 100? Нет ли чего-нибудь универсального
Более универсально на VBA - поищите по фразе "обход дерева в глубину". anvg
Ответить
Сообщение Доброе время суток А если их буде 50 или 100? Нет ли чего-нибудь универсального
Более универсально на VBA - поищите по фразе "обход дерева в глубину". Автор - anvg Дата добавления - 23.05.2018 в 13:09
buka77
Дата: Среда, 23.05.2018, 13:24 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация:
6
±
Замечаний:
0% ±
Excel 2010
VBA - это не для моего ума ((( Нашел немного громоздкое решение через вспомогательные ячейки, но это прибавило весу файлу в полмегабайта.
VBA - это не для моего ума ((( Нашел немного громоздкое решение через вспомогательные ячейки, но это прибавило весу файлу в полмегабайта. buka77
Сообщение отредактировал buka77 - Среда, 23.05.2018, 13:28
Ответить
Сообщение VBA - это не для моего ума ((( Нашел немного громоздкое решение через вспомогательные ячейки, но это прибавило весу файлу в полмегабайта. Автор - buka77 Дата добавления - 23.05.2018 в 13:24
Светлый
Дата: Среда, 23.05.2018, 13:34 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация:
536
±
Замечаний:
0% ±
Excel 2013, 2016
ее длина зависит от количества участков
Сейчас формула рассчитана на 6 участков. Если использовать дополнительные ячейки, то формула упростится, а количество участков можно не ограничивать. Но в любом случае будет рассчитан только один вариант цепочки из нескольких альтернативных. И не факт, что это будет самый короткий вариант. Хотя, с дополнительными ячейками можно и более гибко поработать, если на несколько столбцов растянуть расчёт.
ее длина зависит от количества участков
Сейчас формула рассчитана на 6 участков. Если использовать дополнительные ячейки, то формула упростится, а количество участков можно не ограничивать. Но в любом случае будет рассчитан только один вариант цепочки из нескольких альтернативных. И не факт, что это будет самый короткий вариант. Хотя, с дополнительными ячейками можно и более гибко поработать, если на несколько столбцов растянуть расчёт.Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение ее длина зависит от количества участков
Сейчас формула рассчитана на 6 участков. Если использовать дополнительные ячейки, то формула упростится, а количество участков можно не ограничивать. Но в любом случае будет рассчитан только один вариант цепочки из нескольких альтернативных. И не факт, что это будет самый короткий вариант. Хотя, с дополнительными ячейками можно и более гибко поработать, если на несколько столбцов растянуть расчёт.Автор - Светлый Дата добавления - 23.05.2018 в 13:34
MCH
Дата: Среда, 23.05.2018, 14:12 |
Сообщение № 7
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация:
752
±
Замечаний:
±
Судя по описанию нужно найти кратчайший путь от одной точки до другой в графе. Подойдет алгоритм Дейкстры (или другие аналогичные): http://www.excelworld.ru/forum/3-6656-1 Если нужно, то можно адаптировать решение под текущую задачу
Судя по описанию нужно найти кратчайший путь от одной точки до другой в графе. Подойдет алгоритм Дейкстры (или другие аналогичные): http://www.excelworld.ru/forum/3-6656-1 Если нужно, то можно адаптировать решение под текущую задачу MCH
Ответить
Сообщение Судя по описанию нужно найти кратчайший путь от одной точки до другой в графе. Подойдет алгоритм Дейкстры (или другие аналогичные): http://www.excelworld.ru/forum/3-6656-1 Если нужно, то можно адаптировать решение под текущую задачу Автор - MCH Дата добавления - 23.05.2018 в 14:12
MCH
Дата: Среда, 23.05.2018, 14:26 |
Сообщение № 8
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация:
752
±
Замечаний:
±
Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений
Можете предоставить пример реальных данных?
Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений
Можете предоставить пример реальных данных?MCH
Ответить
Сообщение Участков много, имеются разветвления пути. Необходимо знать расстояние от исходной точки 1 до всех конечных точек разветвлений
Можете предоставить пример реальных данных?Автор - MCH Дата добавления - 23.05.2018 в 14:26
buka77
Дата: Среда, 23.05.2018, 16:21 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация:
6
±
Замечаний:
0% ±
Excel 2010
Можете предоставить пример реальных данных?
Реальный расчет помимо длин содержит еще кучу данных и расчетов, что может только запутать. Приложенный пример в точности отображает искомую проблему и ее решение (если оно будет проще моего) даст мне необходимую информацию. Спасибо за терпение.
Можете предоставить пример реальных данных?
Реальный расчет помимо длин содержит еще кучу данных и расчетов, что может только запутать. Приложенный пример в точности отображает искомую проблему и ее решение (если оно будет проще моего) даст мне необходимую информацию. Спасибо за терпение.buka77
Ответить
Сообщение Можете предоставить пример реальных данных?
Реальный расчет помимо длин содержит еще кучу данных и расчетов, что может только запутать. Приложенный пример в точности отображает искомую проблему и ее решение (если оно будет проще моего) даст мне необходимую информацию. Спасибо за терпение.Автор - buka77 Дата добавления - 23.05.2018 в 16:21
MCH
Дата: Четверг, 24.05.2018, 08:22 |
Сообщение № 10
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация:
752
±
Замечаний:
±
посмотрите вариант во вложении, возможно сможете приспособить под себя
посмотрите вариант во вложении, возможно сможете приспособить под себя MCH
К сообщению приложен файл:
--.xlsb
(82.3 Kb)
Ответить
Сообщение посмотрите вариант во вложении, возможно сможете приспособить под себя Автор - MCH Дата добавления - 24.05.2018 в 08:22