Есть куча способов получить уникальные значения столбца или строки. А что, если значения раскиданы по всей таблице, в разных столбцах? Ранее знатоки решали похожую задачу для чисел. А что, если значения текстовые, как во вложении? Там нужны другие формулы.
Было бы очень интересно взглянуть на решение именно формулой. А то макросом любой Rioran может.
Предполагаю, что логика формулы должна быть примерно следующая:
- Превратить двухмерный массив в одномерный. - Отсортировать неким способом. Например, по возрастанию двоичного кода. - Если в одномерном массиве следующий элемент встречается второй раз - развоплощаем его ко всем гаргулиям и оставшуюся от него мокрое место отправляем в конец сортировки.
Поигрался с формулами, но в массивах пока не силён, не знаю за что зацепиться.
Господа формулисты! Покажите, пожалуйста, чудо =)
Всем привет и хорошего настроения!
Есть куча способов получить уникальные значения столбца или строки. А что, если значения раскиданы по всей таблице, в разных столбцах? Ранее знатоки решали похожую задачу для чисел. А что, если значения текстовые, как во вложении? Там нужны другие формулы.
Было бы очень интересно взглянуть на решение именно формулой. А то макросом любой Rioran может.
Предполагаю, что логика формулы должна быть примерно следующая:
- Превратить двухмерный массив в одномерный. - Отсортировать неким способом. Например, по возрастанию двоичного кода. - Если в одномерном массиве следующий элемент встречается второй раз - развоплощаем его ко всем гаргулиям и оставшуюся от него мокрое место отправляем в конец сортировки.
Поигрался с формулами, но в массивах пока не силён, не знаю за что зацепиться.
Если к ней приладить простейший костыль (условное форматирование или формула СЧЁТЕСЛИ от начала столбца до каждой конкретной ячейки), то можно отслеживать, в какой момент в столбце значения повторяются. И этим найти количество уникальных значений, если количество это заранее не известно.
Вижу, что судя по твоей формуле - размеры таблицы надо знать заранее. И при добавлении новых строк/столбцов формулу надо будет корректировать. Реально ли через ДВССЫЛ и СЧЁТЗ добавить формуле гибкости в этом плане? Например, если таблица на одном листе, а формула на другом для удобства.
Кстати, что означает знак двойного процента? Самое адекватное, что выдаёт гугление - что-то про DOS и пакетные файлы. При этом само %% или "%%" загуглить низя - видимо, воспринимается как спец-символ поиска.
*******
Пришлось думать самому =) Ага, значит, деление на 1-цу с двойным процентом - это как если умножить число на 10'000...
Александр, классная формула!
Если к ней приладить простейший костыль (условное форматирование или формула СЧЁТЕСЛИ от начала столбца до каждой конкретной ячейки), то можно отслеживать, в какой момент в столбце значения повторяются. И этим найти количество уникальных значений, если количество это заранее не известно.
Вижу, что судя по твоей формуле - размеры таблицы надо знать заранее. И при добавлении новых строк/столбцов формулу надо будет корректировать. Реально ли через ДВССЫЛ и СЧЁТЗ добавить формуле гибкости в этом плане? Например, если таблица на одном листе, а формула на другом для удобства.
Кстати, что означает знак двойного процента? Самое адекватное, что выдаёт гугление - что-то про DOS и пакетные файлы. При этом само %% или "%%" загуглить низя - видимо, воспринимается как спец-символ поиска.
*******
Пришлось думать самому =) Ага, значит, деление на 1-цу с двойным процентом - это как если умножить число на 10'000...Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Среда, 16.07.2014, 09:43
_Boroda_, спасибо за помощь, но вы меня не совсем правильно поняли, в вашем примере, в таблице уникальных 9 значений (Желе, Мёд, Перец, Сахар, Сок, Соль, Соя, Сыр, Торт) если убрать одно из них в таблице B3:Н14 то ваша формула будет повторять первое найденное значение, а точнее значение ячейки В3, но если из ячейки В3 убрать значение, то все работает, а вместо повторений будут нолики.
_Boroda_, спасибо за помощь, но вы меня не совсем правильно поняли, в вашем примере, в таблице уникальных 9 значений (Желе, Мёд, Перец, Сахар, Сок, Соль, Соя, Сыр, Торт) если убрать одно из них в таблице B3:Н14 то ваша формула будет повторять первое найденное значение, а точнее значение ячейки В3, но если из ячейки В3 убрать значение, то все работает, а вместо повторений будут нолики.122334boss
Я-то Вас правильно понял. Просто почему-то файл в сообщении 4 приложился старый. Сейчас попытался перевложить, получилось только с 3-го раза - все время во вложении оказывался старый файл. Не знаю, почему так. Смотрите теперь.
А сколько времени у тебя ушло на написание формулы?
Да почти нисколько. Сел, да написал. Я не могу себе позволить долго над одной задачей думать, иначе на другие времени не хватит. Правда, первоначальный вариант был раза в полтора длиньшее.
Я-то Вас правильно понял. Просто почему-то файл в сообщении 4 приложился старый. Сейчас попытался перевложить, получилось только с 3-го раза - все время во вложении оказывался старый файл. Не знаю, почему так. Смотрите теперь.
А сколько времени у тебя ушло на написание формулы?
Да почти нисколько. Сел, да написал. Я не могу себе позволить долго над одной задачей думать, иначе на другие времени не хватит. Правда, первоначальный вариант был раза в полтора длиньшее._Boroda_
_Boroda_, спасибо, это друге дело все работает. а что значит честная и не совсем? и есть ли в формуле ограничения в объеме обрабатываемого диапазона? интересуюсь просто для развития...
_Boroda_, спасибо, это друге дело все работает. а что значит честная и не совсем? и есть ли в формуле ограничения в объеме обрабатываемого диапазона? интересуюсь просто для развития...122334boss
"Не совсем честная" - это значит, что в ячейке М5 на самом деле не текст "Формула:", а нолик. А текст "Формула:" выводится с помощью формата ячейки. Ограничения на объем теоретически нет (в пределах листа Excel, конечно), а практически все зависит от мощности машины. Сколько у Вас строк, столбцов и примерно сколько уникальных?
"Не совсем честная" - это значит, что в ячейке М5 на самом деле не текст "Формула:", а нолик. А текст "Формула:" выводится с помощью формата ячейки. Ограничения на объем теоретически нет (в пределах листа Excel, конечно), а практически все зависит от мощности машины. Сколько у Вас строк, столбцов и примерно сколько уникальных?_Boroda_