Приветствую! Задача Есть таблица, 1 строка - наименования объектов (пусть - 1, 2, 3 и т. д.) 1 столбец - наименования тех же объектов (1, 2, 3 и т. д.) в ячейках - наличие маркирования (или наличие 1) - показывает что эти объекты связанны между собой нужно определить как связанны / не связанны между собой 2 объекта можно ли это автоматизировать (макрос?)? что бы запустил макрос, указываешь какие объекты нужно проверить, в итоге - информация - цепочка: например, как связаны 3 и 21 объекты, получается ответ: есть связь: 3 - 8 - 5 - ..... - 21 может еще в самой таблице показывает путь, выделив ячейки - как проходит связь. или нет связи.
например по таблице в файле 4 и 5 прямо не свзяаны но связаны через 3 то есть цепочка 4-3-5
Приветствую! Задача Есть таблица, 1 строка - наименования объектов (пусть - 1, 2, 3 и т. д.) 1 столбец - наименования тех же объектов (1, 2, 3 и т. д.) в ячейках - наличие маркирования (или наличие 1) - показывает что эти объекты связанны между собой нужно определить как связанны / не связанны между собой 2 объекта можно ли это автоматизировать (макрос?)? что бы запустил макрос, указываешь какие объекты нужно проверить, в итоге - информация - цепочка: например, как связаны 3 и 21 объекты, получается ответ: есть связь: 3 - 8 - 5 - ..... - 21 может еще в самой таблице показывает путь, выделив ячейки - как проходит связь. или нет связи.
например по таблице в файле 4 и 5 прямо не свзяаны но связаны через 3 то есть цепочка 4-3-5Zhan_klod
Файл с рабочего компа не удается загрузить. в нем простая таблица - квадратная, где в первой строке указаны числа 1, 2, 3 и т. д. в первом столбце те же числа - 1, 2, 3 и т. д. а в ячейках число 1 заполнено там, где есть прямая связь между объектами, например между 3 и 4 есть прямая связь, а между 4 и 5 нет прямой связи но 4 и 5 косвенно связаны через 3
задача определить косвенную связь между объектами объектов может 100, 1000
эта задача для сыщика - найти связи между лицами, зная как связаны эти лица/объекты с другими лицами объектами.
Файл с рабочего компа не удается загрузить. в нем простая таблица - квадратная, где в первой строке указаны числа 1, 2, 3 и т. д. в первом столбце те же числа - 1, 2, 3 и т. д. а в ячейках число 1 заполнено там, где есть прямая связь между объектами, например между 3 и 4 есть прямая связь, а между 4 и 5 нет прямой связи но 4 и 5 косвенно связаны через 3
задача определить косвенную связь между объектами объектов может 100, 1000
эта задача для сыщика - найти связи между лицами, зная как связаны эти лица/объекты с другими лицами объектами.Zhan_klod
Приветствую я не силен в функциях, хотел уточнить по вашему файлу: 1) в ячейках в таблице А2:Q17 приведена формула для заполнения данными 0 или 1, случайным образом, так ли это? это чтобы не придумывать связи, а через случайность задать и быстро заполнить? 2) в столбцах S и T, не понял 3) V1 - первый в цепочке, W1 - последний в цепочке, как я понял в этих ячейках нужно ставить значения числе между которыми я хочу узнать наличие связи, так? а ниже в этих ячейках в столбцах что за значения рассчитываются? 4) таблица Y2:AJ13, здесь что показывается?
Не могли ли вы подробнее описать по таблицам, для меня не понятно что и как. прошу прощения
Приветствую я не силен в функциях, хотел уточнить по вашему файлу: 1) в ячейках в таблице А2:Q17 приведена формула для заполнения данными 0 или 1, случайным образом, так ли это? это чтобы не придумывать связи, а через случайность задать и быстро заполнить? 2) в столбцах S и T, не понял 3) V1 - первый в цепочке, W1 - последний в цепочке, как я понял в этих ячейках нужно ставить значения числе между которыми я хочу узнать наличие связи, так? а ниже в этих ячейках в столбцах что за значения рассчитываются? 4) таблица Y2:AJ13, здесь что показывается?
Не могли ли вы подробнее описать по таблицам, для меня не понятно что и как. прошу прощенияZhan_klod
1) Да. Да. 2) S - прямая последовательность связности, T - решение по связности от последней к первой. 3) связанные ячейки, начиная с первой в цепочке или с последней в цепочке. 4) Тоже таблица прямой связности. В каждой следующей строке элементы следующего шага от предыдущей строки.
Новый файл с полным решением в столбце T. В A1:Q17 условными форматированиями выделены углы цепочки связи. Если в каждом столбце и в каждой строке соединить между собой цветные ячейки, то получится полная цепочка связи начальной и конечной ячеек. В столбце S промежуточные расчёты прямой зависимости. В столбце T одно из полных решений зависимости. После столбца U остались старые ненужные формулы. В трёх цветных ячейках формулы условного форматирования верхней строки, левого столбца и поля связности. *В столбце S формируем значения номеров строк, которые порождаются из уже вычисленных выше номеров столбцов. В дробной части номер порождающего столбца. В столбце T ищем, кто породил конечный элемент. Это дробная часть найденного элемента. Далее ищем, кто породил этот элемент. И так до самого первого. **Во втором файле альтернативное решение добавил с УФ.
1) Да. Да. 2) S - прямая последовательность связности, T - решение по связности от последней к первой. 3) связанные ячейки, начиная с первой в цепочке или с последней в цепочке. 4) Тоже таблица прямой связности. В каждой следующей строке элементы следующего шага от предыдущей строки.
Новый файл с полным решением в столбце T. В A1:Q17 условными форматированиями выделены углы цепочки связи. Если в каждом столбце и в каждой строке соединить между собой цветные ячейки, то получится полная цепочка связи начальной и конечной ячеек. В столбце S промежуточные расчёты прямой зависимости. В столбце T одно из полных решений зависимости. После столбца U остались старые ненужные формулы. В трёх цветных ячейках формулы условного форматирования верхней строки, левого столбца и поля связности. *В столбце S формируем значения номеров строк, которые порождаются из уже вычисленных выше номеров столбцов. В дробной части номер порождающего столбца. В столбце T ищем, кто породил конечный элемент. Это дробная часть найденного элемента. Далее ищем, кто породил этот элемент. И так до самого первого. **Во втором файле альтернативное решение добавил с УФ.Светлый
Я здесь http://u.to/ltF9Ew там написали Коллега, это задача на графах. Дана таблица связанности, судя по вопросу, нужно найти толи самый короткий путь от одного объекта до другого, толи самый длинный... Zhan_Klod, готовая матчасть для этого дела, правда на C++ https://e-maxx.ru/algo/
Спрашивал мой вопрос думал вообще невозможно в excel это решить, Но вы решили. Я буду разбираться в вашем файле. Задача возникла из-за необходимости в банках находить связи между заемщиками по общим учредителям, руководителям и родственникам. Законодательство ограничивает по сумме (в % от собственного капитала банка) выдавать займы группе связанных компаний.
У меня вопросы к вашему файлу 1) Можно же сделать (добавить расчетные столбцы и т. д.), чтоб все возможные цепочки определить между 2-мя объектами числами, не только 1 или 2 цепочки? 2) Во втором файле вы написали добавили альтернативное решение с УФ. Что такое УФ? в чем альтернативность, по другому считает? Оно уже учитывает 1 вариант (столбцы S и T)?
Спасибо еще раз. буду разбираться, интересно.
Светлый! Огромное спасибо!
Я здесь http://u.to/ltF9Ew там написали Коллега, это задача на графах. Дана таблица связанности, судя по вопросу, нужно найти толи самый короткий путь от одного объекта до другого, толи самый длинный... Zhan_Klod, готовая матчасть для этого дела, правда на C++ https://e-maxx.ru/algo/
Спрашивал мой вопрос думал вообще невозможно в excel это решить, Но вы решили. Я буду разбираться в вашем файле. Задача возникла из-за необходимости в банках находить связи между заемщиками по общим учредителям, руководителям и родственникам. Законодательство ограничивает по сумме (в % от собственного капитала банка) выдавать займы группе связанных компаний.
У меня вопросы к вашему файлу 1) Можно же сделать (добавить расчетные столбцы и т. д.), чтоб все возможные цепочки определить между 2-мя объектами числами, не только 1 или 2 цепочки? 2) Во втором файле вы написали добавили альтернативное решение с УФ. Что такое УФ? в чем альтернативность, по другому считает? Оно уже учитывает 1 вариант (столбцы S и T)?
Спасибо еще раз. буду разбираться, интересно.Zhan_klod
1) Без vba нет. Можно просто вычислить всех, кто вовлечён в цепочку (это столбцы S, U и W от начального значения), но не построить ВСЕ цепочки. 2) УФ - это условное форматирование. На рабочем поле показывает цветные клетки, которые соответствуют углам поворота цепочки связи от вертикали к горизонтали и наоборот. Цвет соответствует первому или второму решению в столбцах T и V. В этом файле три варианта решения. Они могут быть разными или совпадать. Зелёный самый короткий, но могут быть варианты такой же длины. Увеличить таблицу можно, но надо учитывать диагональную симметричность связей. Моя формула заполнения случайными связями это учитывает.
1) Без vba нет. Можно просто вычислить всех, кто вовлечён в цепочку (это столбцы S, U и W от начального значения), но не построить ВСЕ цепочки. 2) УФ - это условное форматирование. На рабочем поле показывает цветные клетки, которые соответствуют углам поворота цепочки связи от вертикали к горизонтали и наоборот. Цвет соответствует первому или второму решению в столбцах T и V. В этом файле три варианта решения. Они могут быть разными или совпадать. Зелёный самый короткий, но могут быть варианты такой же длины. Увеличить таблицу можно, но надо учитывать диагональную симметричность связей. Моя формула заполнения случайными связями это учитывает.Светлый
Вы пишите: 1) Без vba нет. Можно просто вычислить всех, кто вовлечён в цепочку (это столбцы S, U и W от начального значения), но не построить ВСЕ цепочки.
Вычислить всех, кто вовлечен в цепочку - это только все те, которые состоят в выявленных/показанных (определенных вашими формулами) цепочках?
Значит могут быть еще другие: - не показанные цепочки - элементы цепочек, которые могут быть в не показанных/выявленных цепочках и которых нет в показанных/выявленных цепочках
так?
Светлый, спасибо за ответ.
Вы пишите: 1) Без vba нет. Можно просто вычислить всех, кто вовлечён в цепочку (это столбцы S, U и W от начального значения), но не построить ВСЕ цепочки.
Вычислить всех, кто вовлечен в цепочку - это только все те, которые состоят в выявленных/показанных (определенных вашими формулами) цепочках?
Значит могут быть еще другие: - не показанные цепочки - элементы цепочек, которые могут быть в не показанных/выявленных цепочках и которых нет в показанных/выявленных цепочках
Задаём начальное значение. В этих столбцах находятся ВСЕ, кто прямо или косвенно связан с этим НАЧАЛЬНЫМ ЗНАЧЕНИЕМ. Если среди этих ВСЕХ есть конечное значение, можно построить цепочку связности. В первых вариантах файлов такой же список строился и от конечного элемента. На всякий случай. *В зелёном столбце сверху вниз записываются связанные элементы сначала удалённые на 1 шаг, потом на 2, 3 и т.д. Когда встречается конечный элемент, он оказывается на самом коротком расстоянии от начального.
Задаём начальное значение. В этих столбцах находятся ВСЕ, кто прямо или косвенно связан с этим НАЧАЛЬНЫМ ЗНАЧЕНИЕМ. Если среди этих ВСЕХ есть конечное значение, можно построить цепочку связности. В первых вариантах файлов такой же список строился и от конечного элемента. На всякий случай. *В зелёном столбце сверху вниз записываются связанные элементы сначала удалённые на 1 шаг, потом на 2, 3 и т.д. Когда встречается конечный элемент, он оказывается на самом коротком расстоянии от начального.Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Четверг, 13.09.2018, 15:01
Извините, вы пишите, в последнем файле 3 варианта решений 1) 1-ый вариант - самая короткая цепочка.
а остальные 2 варианта, они какие цепочки показывают / или должны показывать по идее?
я нажимал F9 и увидел результаты (вопросы?): - все 3 варианта показывают одинаковые данные - наверно, была всего 1 цепочка? - ничего нет во всех вариантах - нет связи? - все 3 варианта показывают разные значения - много связей, больше или равно 3 связей? - 1-ый вариант сходится со 2-ым или 3-им вариантом - всего в наличии только 2 связи?
Извините, вы пишите, в последнем файле 3 варианта решений 1) 1-ый вариант - самая короткая цепочка.
а остальные 2 варианта, они какие цепочки показывают / или должны показывать по идее?
я нажимал F9 и увидел результаты (вопросы?): - все 3 варианта показывают одинаковые данные - наверно, была всего 1 цепочка? - ничего нет во всех вариантах - нет связи? - все 3 варианта показывают разные значения - много связей, больше или равно 3 связей? - 1-ый вариант сходится со 2-ым или 3-им вариантом - всего в наличии только 2 связи?Zhan_klod
Если все три равны, то необязательно только одна цепочка. Просто для всех трёх алгоритмов последовательность оказалась одинаковой. В зелёном можно проследить: сначала показывает те строки, которые "1" в заданном столбце, потом "1" для первого найденного, для второго и т.д. Конечно, исключая те, которые уже записаны. Во втором решении алгоритм ищет минимальное значение, связанное со всеми предыдущими, а в третье максимальное. Если в столбце решения пусто, то связи нет. Если в первом пусто, то начальный ни с чем не связан. *Расширил таблицу и подкорректировал формулы.
Если все три равны, то необязательно только одна цепочка. Просто для всех трёх алгоритмов последовательность оказалась одинаковой. В зелёном можно проследить: сначала показывает те строки, которые "1" в заданном столбце, потом "1" для первого найденного, для второго и т.д. Конечно, исключая те, которые уже записаны. Во втором решении алгоритм ищет минимальное значение, связанное со всеми предыдущими, а в третье максимальное. Если в столбце решения пусто, то связи нет. Если в первом пусто, то начальный ни с чем не связан. *Расширил таблицу и подкорректировал формулы.Светлый
Условным форматированием прорисовываются все пути цепочек связанности. *Разнёс цепочки, чтобы можно было видеть разные взаимосвязи на одном поле. Файл перезалил. **Немного причесал. Файл опять перезалил.
Условным форматированием прорисовываются все пути цепочек связанности. *Разнёс цепочки, чтобы можно было видеть разные взаимосвязи на одном поле. Файл перезалил. **Немного причесал. Файл опять перезалил.Светлый