Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 4)

Модерирует : gyra, Maz

Widok (09-03-2010 13:14): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Просьба к посетителям топика дополнять шапку наиболее часто задаваемыми вопросами со ссылками на ответы
в обязательном порядке

 
  • Смена представления имен столбцов с буквенного на цифровое и обратно


    Сумма прописью
  • Надстройка "PROP" (сумма прописью)
  • надстройка Excellerator (c) Michael Zemlanukha & Maxim Shemanarev
  • макрос Num2String


  • Список соответствия имен функций в английской и русской версиях Excel
  • Описание Microsoft Excel File Format (eng.)
  • Горячие клавиши в Excel (табличка)
     
    Предыдущие ветки топика: Часть 1 | Часть 2 | Часть 3
     
    Все вопросы по программированию (макросы, скрипты, пользовательские функции и т.п.) обсуждаются в теме Excel VBA в разделе Прикладное программирование.
     
    При необходимости выложить скриншот, пользуйтесь сервисом ImageShack® (ограничение на размер файла <1.5 Mb)
     
    Книга Джон Уокенбах "Подробное руководство по созданию формул в Microsoft Office Excel 2002" PDF 34МБ Файлы к книге

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:12 29-08-2008 | Исправлено: Maz, 22:45 24-02-2017
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mp3exchanger
    Цитата:
    В том то всё и дело.  
    однозначно нужно использовать макрос.
    Цитата:
    я хочу реализовать создание БОЛЬШОЙ базы из всех сочетаний 256 символов, но длиной строки не более 16 символов:
    Рекоменндую сначала просчитать сколько будет таких элементов.

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 23:11 08-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    crotoff
    приведи, пожалуйста, пример

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 23:12 08-05-2009
    crotoff

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mp3exchanger
    у меня эксель висит уже минут 10  обрабатывает сочетания из 3х. Лучше всётаки на VBA реализовать с выводом в текстовый файл. Щас выложу что получилось
     
    Залил примерчик http://gettyfile.ru/298171/

    Всего записей: 961 | Зарегистр. 17-04-2007 | Отправлено: 23:13 08-05-2009 | Исправлено: crotoff, 11:14 09-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mushroomer

    Цитата:
    Рекоменндую сначала просчитать сколько будет таких элементов.

    я там изменил своё сообщение...

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 23:15 08-05-2009 | Исправлено: mp3exchanger, 11:33 12-05-2009
    kimtan

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    256 символов длина строки 16 символов.
    Количество перестановок
    2,10875602102456E+38
    Песчинок на планете "Земля" кажется немного меньше.

    Всего записей: 291 | Зарегистр. 28-02-2009 | Отправлено: 00:11 09-05-2009 | Исправлено: kimtan, 00:14 09-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kimtan

    Цитата:
    2,10875602102456E+38

    а повторение символов тут учтено? например, чтобы не было aabcdefghijklmno, т.к. a повторяется

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 00:53 09-05-2009 | Исправлено: mp3exchanger, 00:55 09-05-2009
    Abysssss



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mushroomer
    Да. В этих файлах есть одинаковые названия организаций и номера договоров - задача в том и состоит, что нужно найти одинаковые договора. Уж ладно с названиями организаций.
     
    Может я некорректно формулирую свою просьбу? Попробую по-другому: В общем несколько файлов Excel. В них встречаются одинаковые номера договоров.
    Нужно хотя бы что бы в одном из этих файлов подсвечивались (или выделялись) номера договоров, которые встречаются в жругих файлах. Или как-нибудь по другому сделать так, чтобы получить перечень повторных договоров, которые встречаются в разных файлах.

    ----------
    Чудеса там, где в них верят и чем больше в них верят - тем чаще они случаются.

    Всего записей: 1039 | Зарегистр. 29-12-2004 | Отправлено: 01:01 09-05-2009
    kimtan

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Все учтено, не волнуйтесь. Символы не повторяются, комбинации также.

    Всего записей: 291 | Зарегистр. 28-02-2009 | Отправлено: 01:05 09-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kimtan
    Как высчитать объём дискового пространства, необходимый для хранения такого объёма информации?

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 01:47 09-05-2009 | Исправлено: mp3exchanger, 11:34 12-05-2009
    kimtan

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mp3exchanger
    Поверьте, это тоже не трудно =2,10875602102456E+38*16/1024/1024 итого:
    3,21770633090906E+33 мб!

    Всего записей: 291 | Зарегистр. 28-02-2009 | Отправлено: 02:25 09-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kimtan, выглядит угрожающе...

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 02:42 09-05-2009 | Исправлено: mp3exchanger, 11:35 12-05-2009
    kimtan

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Попробуйте подсчитать сами. Так как первый символ не учавствует в перестановке, то:
    =ПЕРЕСТ(255;15)
    Объем одного символа = 1 байт.

    Всего записей: 291 | Зарегистр. 28-02-2009 | Отправлено: 02:59 09-05-2009
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abysssss
    надо более четко ставить задачу. Как я понял.
    Есть несколько файлов. В каждом файле есть номера договоров. Они могут повторятся (даже в пределах одного файла).
    Задача: найти одинаковые договора в разных файлах.
    Вопрос (на который ответ не ясен): сравнивать между какими именно файлами? Всеми? или сравнивать попарно?  
     
    Я напишу общий план решения
    Вводная: работать придется в Excel 2007, т.к. в Excel 2003 есть предел: строк около 65000.
     
    Часть I (Сортировка в пределах одного файла)
    Цель: удалить повторы номеров договоров в пределах одного файла.
    1) выделяем столбец с номерами договоров и сортируем его по возрастанию.
    2) в соседнем столбце начиная со второй строки пишем формулу
    =ЕСЛИ(A2=A1;1;0) и разгоняем ее на весь столбец.
    3) через специальную ставку заменяем формулу на значения.
    4) выделяем 2 столбца (номера договоров и значения форумулы) и сортируем по значениям формулы
    5) удаляем все строки,в которых значение формулы 1.
    6) остались только те номера договоров, у которых значения в форумле было 0. Т.е. неповторяющиеся номера.
     
    Часть II Этот же принцип можно распространить и на поиск одинаковых договоров между файлами.
    Надо.
    1) дать ответ на вопрос поставленный в самом начале сообщения
    2) закодировать файлы. напрмер.
    у всех неповторящихся номеров первого файла в соседнем столбце проставить 1
    у всех неповторящихся номеров второго файла в соседнем столбце проставить 2
    .....
    сортировка, формула, втавка значений ...
    Сам справишься? или расписывать?

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 08:41 09-05-2009 | Исправлено: Mushroomer, 08:43 09-05-2009
    Abysssss



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mushroomer
    Ответ: Один файл нужно сравнить с девятью оставшимися. Договора могут повторятся как по файлам, так и внутри одного файла.
    Про поиск одинакового номера договора в одном файле (Часть I Вашего описания - понятно), но вот с Частью II - у меня возникли проблемы с пониманием. Не могли бы Вы, если у Вас будет время, расписать подробнее? Так как именно эта Часть более всего и интересует. Заранее спасибо.

    ----------
    Чудеса там, где в них верят и чем больше в них верят - тем чаще они случаются.

    Всего записей: 1039 | Зарегистр. 29-12-2004 | Отправлено: 09:53 09-05-2009
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kimtan, 1.25691653551135E+31 - непосильная задача. Всем спасибо за участие.

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 10:16 09-05-2009
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abysssss
    Цитата:
    Ответ: Один файл нужно сравнить с девятью оставшимися. Договора могут повторятся как по файлам, так и внутри одного файла.
    Номер из первого файла должен быть во всех 9 остальных файлах? только такие договора интересны? Если да, то т.к. повторов договоров в пределах одного файла уже нет, то чтобы нашелся такой договор, то в отсортированной общей таблице должна быть следующая конструкция (2 столбца)
    Номер договора | номер файла
    111-11                  1
    111-11                  2
    111-11                  3
    111-11                  4
    111-11                  5
    111-11                  6
    111-11                  7
    111-11                  8
    111-11                  9
    111-11                  10
    распишу отдельно  
    =И(A1=A2;A2=A3;A3=A4;A4=A5;A5=A6;A6=A7;A7=A8;A8=A9;A9=A10) - это проверка на совпадение номеров договора у 10 последовательных строк
    =И(B1+1=B2;B2+1=B3;B3+1=B4;B4+1=B5;B5+1=B6;B6+1=B7;B7+1=B8;B8+1=B9;B9+1=B10) это проверка что номера есть во всех 10 строках. т.к. файлах.
     
    Итоговая формула
    =ЕСЛИ(И(И(A1=A2;A2=A3;A3=A4;A4=A5;A5=A6;A6=A7;A7=A8;A8=A9;A9=A10);И(B1+1=B2;B2+1=B3;B3+1=B4;B4+1=B5;B5+1=B6;B6+1=B7;B7+1=B8;B8+1=B9;B9+1=B10));1;0)
    Тебе будут интересны только 1.

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 10:56 09-05-2009 | Исправлено: Mushroomer, 10:58 09-05-2009
    kimtan

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Abysssss
    Можно по второму варианту попробовать такое решение (без сортировок):
    Приведу пример на трех книгах, если вариант подойдет, потом сами допишите.
    Итак, предположим что книги называются Книга1, Книга2, Книга3. Открываем все книги (благо Excel такую возможность предоставляет). В книгах 2 и 3 выделяем диапазоны с сравниваемыми данными и присваиваем им имена (в данном случае содержащими номера договоров), делается это в 2003 - Вставка/Имя/Присвоить, в 2007 - Формулы/Определенные имена/Присвоить имя. Пусть имя во всех файлах будет "Список". Теперь переходим в книгу 1 и выбираем какой-будь не использующийся в таблице столбец, например L, теперь в ячейке L2 (при условии, что ваши номера договоров находятся в диапазоне A2: и ниже) вводим формулу массива: =И(ИЛИ(Книга2.xls!Список=A2)*1;ИЛИ(Книга3.xls!Список=A2)*1) заканчиваем введение сочетанием клавиш Ctrl+Shift+Enter. Теперь можно закрывать книги 2 и 3, наблюдаем за преображениями формулы. Формулу растягиваем вниз до конца диапазона. Столбец заполнился значениями ИСТИНА и ЛОЖЬ, нас интересует ИСТИНА, которая означает что данный номер договора присутствует во всех книгах. Теперь используя этот столбец можно применять условное форматирование или фильтрацию. Можно также скрыть этот столбец. Удачи!

    Всего записей: 291 | Зарегистр. 28-02-2009 | Отправлено: 14:04 09-05-2009
    strat

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ломаю голову правда не очень интенсивно по поводу визуализации списков
    пример скрин
    список 1 - ежемесячный список из скажем сотни наименований, прибавляются элементы тоже  
    список 2 - скажем 10 наименований и периодически к нему добавляются элементы
     
    список 1 находится с каждым месяцем на своем листе, список 2 ведется тоже на отдельном но в единственном экземпляре
     
    задача в списке 1 выделить желтым то что есть в списке 2
     
    с помощью впр сделал колонку с банальным 1 и 0 напротив нужного элемента но условное форматирование ОТКАЗЫВАЕТСЯ работать т.к. говорит не может рассчитывать формулы с других листов (не дословно но суть такая)
     
    подскажите как лучше сделать, макросом не хотел бы, хочу найти решение стандартное, чуствую что есть
    excel 2007
     

    Всего записей: 459 | Зарегистр. 27-12-2005 | Отправлено: 20:44 11-05-2009 | Исправлено: strat, 20:45 11-05-2009
    SERGE_BLIZNUK

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    strat, не понял, зачем Вам понадобился дополнительный столбец...
    идём на тот лист, где есть данные (Ваш "Список 2")
    главное меню: "Вставить" - "Имя" - "Присвоить" задаём любое имя (например SPISOK2)
    потом идём в условное форматирование и задаём
    формула (пример для ячейки A1):
    =ЕСЛИ(ЕНД(ВПР(A1;SPISOK2;1;ЛОЖЬ));0;1)
     
    копируем кнопочкой "формат по образцу" данное форматирование на весь столбец (или на нужную область).
    всё.
     

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 22:06 11-05-2009 | Исправлено: SERGE_BLIZNUK, 22:07 11-05-2009
    ltcznmpfgjdtltq

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть отчет в Excel. В нем есть колонка Дата и Количество. Строки выглядят примерно так:
    1 28.04.09 5 000
    2 30.04.09 6 250
     
    Задача вставить строку:
     
    29.04.09 5 000,  
     
    т.е. вставить пропущенную дату и значения (число или текст) из предыдущей строки.
     
    Кто знает как?

    Всего записей: 5 | Зарегистр. 29-04-2009 | Отправлено: 16:16 13-05-2009
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 4)
    Widok (09-03-2010 13:14): Лимит страниц. Продолжаем здесь.


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru