Страницы: Пред. 1 2 3 След.
RSS
Сколько названий изменилось на строго заданное?
 
Максим, в каком сообщении вы упоминание про необходимость учета переменной имени? У вас есть ситуации, когда у одного ID разные имена? Какие еще условия вы попросите учесть?
Впрочем, мне надоело. Вам уже столько вариантов дали, можете выбрать и доработать любой из них под все свои хотелки
F1 творит чудеса
 
Максим Зеленский,я ценю, что люди на данном форуме помогают друг другу. Действительно появилось несколько вариантов, которые можно взять в работу с доработками. Проблема заключается в том, что мои компетенции не позволяют мне доработать отправленные формулы. Иначе ,я бы не написал на этот форум.
Вы приложили файл, но данный файл был нерабочим. Возможно, вы прикрепили не тот, поэтому и написал.
Изменено: Максим - 05.07.2020 14:43:55
 
Цитата
Максим Зеленский написал:
в каком сообщении вы упоминание про необходимость учета переменной имени? У вас есть ситуации, когда у одного ID разные имена?
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
в каком сообщении вы упоминание про необходимость учета переменной имени? У вас есть ситуации, когда у одного ID разные имена?
да, может быть такое, что у одного id могут быть разные имена. id не меняются, а имена и названия могут.
 
Цитата
Максим написал:
=СУММ(СУММПРОИЗВ((Старая_Т[id]=Новая_Т[id])*((Старая_Т[Имя]=#ССЫЛКА!)*(Новая_Т[Имя]=#ССЫЛКА!))*(Старая_Т[название]<>Новая_Т[название])*((Новая_Т[название]="груша")+(Новая_Т[название]="киви"))*(Старая_Т[название]={"апельсин";"яблоко"})))если подставлять "Иван", тогда формула не считает.
Это вообще не моя последняя формула. Совсем. Даже близко :)

Вот есть строки в исходной таблице
1 Петр апельсины
2 Иван яблоки

В новой таблице строки
1 Иван яблоки
2 Иван яблоки

Какой результат по переходу из яблок в апельсины?
А лучше приложите пример ближе к боевому - с дублирующимися ID. А то гадать...
F1 творит чудеса
 
Я понял в чем прикол. Вы смотрели на формулу, забитую в розовой ячейке. Я ее вообще не трогал, а сделал формулы правее, в столбце R
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
Это вообще не моя последняя формула. Совсем. Даже близко
да, я тоже так подумал, но это формула из файла, который вы приложили последним (поэтому и подумал, что вы зацепили не тот файл с диска)

Прикладываю модель, максимально приближенную к рабочей
  • в O2 - формула, от БМВ (считает норм, но есть особенности: во-первых, не очень удобно раскладывать переменные названий по порядку. Если будет нарушен порядок, подсчёт неверный. Во-вторых, при использовании в рабочей таблице создаёт просто нереальную нагрузку на процессор - комп просто встаёт.)
  • в S8 - моя формула, через введение дополнительный столбец ("да3" или "да4") - неудобство заключается в том, то переходы из состояний в состояние (название) имеет множество вариаций, поэтому получается очень большое количество дополнительных столбцов, что в свою очередь очень сильно увеличивает размер файла, что опять же приводит к торможению компьютера
 
Цитата
Максим Зеленский написал:
Я понял в чем прикол. Вы смотрели на формулу, забитую в розовой ячейке. Я ее вообще не трогал, а сделал формулы правее, в столбце R
да, увидел. Считает неверно.
 
Вариант с доп. столбцом
Суммирует если из старой таблицы у айди с именем с названием яблоко или апельсин изменились в новой таблице на грушу или киви
 
Михаил Л, в данном случае доп. столбец практически не дает никаких преимуществ.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
в данном случае доп. столбец практически не дает никаких преимуществ
Не знаю - не знаю, тс пока не жаловался

Максим,  вместо -- добавьте --ЕСЛИ(S$2=[@Имя];
и в конце скобку закройте
 
Цитата
Михаил Л написал:
тс пока не жаловался
так и не хвалил :-)

сделайте на указанные тысячи строк и смотрите. Может оказаться что на оборот еще и медленнее будет. Доп выгоден когда его результат многократно используется.
Изменено: БМВ - 05.07.2020 19:37:37
По вопросам из тем форума, личку не читаю.
 
Цитата
Михаил Л написал:
Вариант с доп. столбцомСуммирует если из старой таблицы у айди с именем с названием яблоко или апельсин изменились в новой таблице на грушу или киви
Михаил, благодарю. Решение очень оригинальное))) Возможно, я что-то упустил, но этот вариант мало чем отличается от созданного мною, где в доп.столбце указывается да/нет. Как я уже писал, доп.стобец может помочь, но, учитывая, что переходов названий из одного в другое множество, то необходимо будет создавать несколько десятков столбцов. Это в свою очередь увеличивает размер рабочего файла, что в свою очередь вызывает торможение.  
Изменено: Максим - 05.07.2020 20:18:36
 
Цитата
Максим написал:
учитывая, что переходов названий из одного в другое множество, то необходимо будет создавать несколько десятков столбцов
Что за переходы названий? Покажите в примере. В одну формулу что, затолкать нельзя?
Цитата
БМВ написал:
сделайте на указанные тысячи строк и смотрите
Сделал. Вижу разницу
 
Цитата
Михаил Л написал: Что за переходы названий?
будет >10к строк

есть 15 состояний [стадий] (в моделируемой таблице - это фрукты), у каждой стадии есть id и ответственный (id не меняется, ответственный может меняться)

Состояния от 1 до 15
Задача - проанализировать динамику состояний
Состояние 1 переходит в 2, 3, 4...15
Состояние 2 переходит в 3, 4, 5...15
Состояние 3 переходит в 4, 5, 6... 15
и т.д.
...
Состояние 14 переходит в 15
Состояние 15 ни в что не переходит

Плюсом ко всему состояния чаще идут непоследовательно, могут "перепрыгивать" друг через друга. А также несколько состояний в некоторых случаях могут объединяться в одно, а иногда одно состояние может на выходе выдать 2 и более других состояний.
Другими словами, если вводить дополнительные столбцы, то их может быть несколько десятков.

Я думал про то, чтобы попробовать запихнуть все условия изменений состояний в одну формулу (один столбец) , но при этом условная формула получается такой большой, что excel не даёт вставлять её в одну ячейку.
 
Цитата
Максим написал:
есть 15 состояний [стадий]
Переходы названий = состояние = стадия ? Правильно?
В файле есть это:
 
яблоко в груша
яблоко в киви
апельсин в груша
апельсин в киви
Здесь сколько переходов названий? 2? 4? 2*2?
А 15 состояний таким макаром как записать?
 
Цитата
Михаил Л написал:
яблоко в груша
яблоко в киви
эапельсин в груша
апельсин в киви
почувствуй себя Мичуриным!!!
Михаил Л  а я теперь не вижу, зачем формулы текстом, переводить  ну совсем не хотца
Изменено: БМВ - 05.07.2020 21:34:42
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
зачем формулы текстом, переводить  ну совсем не хотца
В #39 есть почти полностью формула формулой, только добавить кусочек из #41.
 
Цитата
Михаил Л написал:
Переходы названий = состояние = стадия ? Правильно?
нет, название фрукта - это стадия. А переходов из фрукта во фрукт может быть больше.
Цитата
Михаил Л написал:
яблоко в грушаяблоко в кивиапельсин в грушаапельсин в кивиЗдесь сколько переходов названий? 2? 4? 2*2?
верно, здесь 4 перехода

Цитата
Михаил Л написал:
А 15 состояний таким макаром как записать?

У сводного файла подразумевается есть 3 листа:
  • лист 1: лист с таблицей 1 (данные за предыдущий период)
  • лист 2: лист с таблицей 2 (данные за текущий период)
  • лист 3: сводная таблица, в которую в разные ячейки мы загружаем (считаем) динамику стадий, полученную путём сравнения 2х таблиц
Изменено: Максим - 05.07.2020 21:52:43
 
Цитата
Михаил Л написал:
есть
иии?
Изменено: БМВ - 05.07.2020 21:56:08
По вопросам из тем форума, личку не читаю.
 
Цитата
Михаил Л написал:
В  #39  есть почти полностью формула формулой, только добавить кусочек из #41.
но при этом нужны доп. столбцы в таблицу с исходными данными?
Изменено: Максим - 05.07.2020 21:57:30
 
а условия задачи где-то написаны?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, они постоянно эволюционируют.

Цитата
Максим написал:
Считает неверно.
Нет, верно  :D  :D Опишите пример, который она считает неверно.
Цитата
Максим написал:
есть 15 состояний [стадий] (в моделируемой таблице - это фрукты), у каждой стадии есть id и ответственный (id не меняется, ответственный может меняться)
яблоки с id =1 это не то же самое, что яблоки с id=5? а как же у одной стадии, которая фрукты, id не меняется?

Например, в таблице за предыдущий период строки:

ID Имя  фрукт
================
1  Иван яблоко
1  Петр апельсин
2  Петр яблоко

В таблице за текущий период строки:

ID Имя  фрукт
================
1  Петр яблоко
1  Иван яблоко
2  Иван апельсин
2  Петр киви

Вопрос к автору: какой должен быть результат по подсчету переходов яблок в апельсины? Пожалуйста опишите словами процесс получения этого результата.
Перешло ли яблоко в апельсин, потому что яблоко было у Ивана, а потом у него появился стал апельсин?
Перешло ли яблоко в апельсин, потому что яблоко было у строки с ID = 2, а потом у строки с ID = 2 стал апельсин?
Или яблоко не перешло в апельсин, потому что у строки 1+Иван=яблоко из старой таблицы в новой таблице тоже 1+Иван=яблоко, а у строка 2+Петр, которая была =яблоко в старой таблице, в новой таблице 2+Петр = киви?
F1 творит чудеса
 
в общем, с доп.столбцом. Желтые ячейки.
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
яблоки с id =1 это не то же самое, что яблоки с id=5? а как же у одной стадии, которая фрукты, id не меняется?
да, яблоки с id= 1, это не то же самое, что яблоки с id=5. Яблоки, апельсины и прочие фрукты - это названия стадий в рабочей таблице. У id=1 могут меняться стадии - сначала были яблоки, потом они стали грушами.. Поэтому стоит задача отследить эту динамику по id - сколько "яблок" перешло в "груши", сколько "груш" перешло в "арбузы" и т.д.  
Цитата
Максим Зеленский написал:
Вопрос к автору: какой должен быть результат по подсчету переходов яблок в апельсины? Пожалуйста опишите словами процесс получения этого результата.Перешло ли яблоко в апельсин, потому что яблоко было у Ивана, а потом у него появился стал апельсин?Перешло ли яблоко в апельсин, потому что яблоко было у строки с ID = 2, а потом у строки с ID = 2 стал апельсин?Или яблоко не перешло в апельсин, потому что у строки 1+Иван=яблоко из старой таблицы в новой таблице тоже 1+Иван=яблоко, а у строка 2+Петр, которая была =яблоко в старой таблице, в новой таблице 2+Петр = киви?
Яблоки и апельсины переходят в груши и киви. Переходом считается ситуация, когда яблоко или апельсин совершит переход в грушу или киви без изменения id и имени (id уникально и не может повторяться ни в исходной таблице, ни в новой; Имя - может повторяться, но для подсчёта задаётся внешней переменной)

Другими словами, НЕ считаются ситуации, когда:

Старая таблица            Новая таблица
===                                 ==
id=1/апельсин/Иван      -> id=1/апельсин/Иван (не считается, так как ничего не изменилось)
id=2/апельсин/Иван      -> id=2/яблоко/Иван (не считается, так как изменения произошли не по заданному условию)
id=3/апельсин/Иван      -> id=3/груша/Пётр (не считается, так как произошло изменения имени)
id=4/апельсин/Иван      -> id=5/груша/Иван (не считается, так как это разные id)

Считается:

Старая таблица            Новая таблица
===                                 ==
id=1/апельсин/Иван      -> id=1/груша/Иван
id=2/апельсин/Иван      -> id=2/киви/Иван
id=3/яблоко/Иван          -> id=3/груша/Иван
id=4/яблоко/Иван          -> id=4/киви/Иван

В таблице (приложенный файл) правильно подсчитанные данные подсвечены зелёным цветом и отмечены "да" (ячейки H4:Н14)
 
Ещё раз Power Query :)
 
Цитата
Андрей VG написал:
Ещё раз Power Query
Решение отличное! Но мне не очень подходит. Объясню. Полученная в результате Power Query таблица - это почти то же самое, что и оригинальные таблицы (старая и новая). И нужно будет все переходы из стадии в стадию подсчитать.
Рабочая сводная таблица, где будет результат подсчётов имеет следующий вид:
 
Цитата
Максим написал:
результат подсчётов имеет следующий вид
Что ни пост  то новость :)  
 
Цитата
Михаил Л написал:
Что ни пост  то новость
На самом деле конкретно этот пост мало что меняет, так как в ячейках отображается результат подсчёта формул данных из исходных таблиц, которые были представлены в моделируемой таблице с фруктами. Этот вид я привел для Андрей VG, чтобы объяснить невозможность применения power query в представленном им виде
 
Цитата
Максим написал:
Объясню
Спасибо, наконец-то стало понятно почему.
Цитата
Михаил Л написал:
Что ни пост  то новость
вот тут, Михаил, не согласен. В рамках чисто формульного решения, тема, с учётом сообщения #55!, вполне себе нормально декомпозированная подзадача. А как будет использоваться и где, это уже другая задача :)  Просто, в рамках постановки возможно только формульное или vba решение.
Конечно, если реструктуризировать, то можно решить и с помощью Power Query и Power Pivot. Но в этом случае получится комплексное задание :)
Вот Максим и не стал заморачиваться, а может не желает использовать pq/pp
Страницы: Пред. 1 2 3 След.
Наверх