Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 5
1

Свести таблицу с учетом регистра (удаление дубликатов, слияние столбцов, Excel)

02.04.2018, 11:08. Показов 2283. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.

Я создаю словарь украинского языка для электронной книги Amazon Kindle. Для этого необходимо создать перечень словоформ в корректном формате. У меня осталась одна загвоздка:

В прикрепленном файле перечень слов, которые Excel считает дубликатами (не учитывает регистр).

Я хочу в первом столбце оставить только уникальные значения с учетом регистра, а во втором все его "расшифровки".

На конкретном примере: строка 15818 слово "онуча", в строке 15819 тоже слово "онуча", расшифровки в соседнем столбце у них отличаются (сначала я пытался оставить просто более длинные значения по количеству знаков формулой ДЛСТР, но в этом случае более длинное значение не охватывает всех вариантов из двух ячеек, в других случаях срабатывало).

Нужно оставить одно значение "онуча", а в во втором столбце "сцепить" значения второго столбца 15818 и 15819 строки через запятую с пробелом (можно даже не удалять дубликаты, это я могу сделать потом макросом с вашего форума, который находил ранее).

Можете помочь?

Заранее благодарю!
Вложения
Тип файла: zip Дублікати2.xlsx.zip (1.02 Мб, 11 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2018, 11:08
Ответы с готовыми решениями:

Excel, автофильтр, сводная с учетом Регистра букв
Добрый день! Столкнулся с такой проблемой, при установки автофильтра на таблицу, фильтр не...

Импорт определенных столбцов из Excel в таблицу Access!
Импорт в таблице получается каскадом, может у кого есть более удобное решение данной проблемы....

Макрос в Excel 2003 на удаление определенных столбцов
Добрый день, уважаемые светлые головы. С макросами только начинаю знакомиться, поэтому прошу...

Удаление столбцов и строк в нескольких файлах Excel
Здравствуйте многоуважаемые форумчане! Возникла небольшая задача помогите решить: В папке...

6
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
02.04.2018, 13:11 2
kolime, пробуйте - с удалением дубликатов
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub bb()
Dim v(), w(), i&, k&, d$(), s$, di As Object, x
  Set di = CreateObject("scripting.dictionary")
  di.comparemode = vbTextCompare
  Cells.Sort [A1], xlAscending, Header:=xlYes
  v = Range("B1", Cells(Rows.Count, "A").End(xlUp).Offset(1)).Value2
  ReDim w(1 To UBound(v), 1 To 2)
  For i = 1 To UBound(v)
    If StrComp(v(i, 1), s, vbTextCompare) Then
      k = k + 1
      w(k, 1) = s
      w(k, 2) = Join(di.keys, ", ")
      di.RemoveAll
      s = v(i, 1)
    End If
    For Each x In Split(v(i, 2), ",")
      If Len(x) Then di(x) = 0
    Next
  Next
  Worksheets.Add(, ActiveSheet).Cells(1, 1).Resize(k, 2).Value = w
End Sub
Добавлено через 24 минуты
А, у Вас Мак. Посмотрите тут, как использовать словарь на маке: Ошибка выполнения "429". Компоненту ActiveX не удалось создать объект
0
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 5
02.04.2018, 15:20  [ТС] 3
Excel мне больше нравится на Windows. Работаю в виртуальной машине.

Сейчас попробую ваше решение. Огромное спасибо
0
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 5
02.04.2018, 15:28  [ТС] 4
Применил ваш код. Он не учел регистр, самые первые строки, слова "А-БА-БА-ГА-ЛА-МА-ГА" и
"А-Ба-Ба-Га-Ла-Ма-Га" посчитал дубликатами и стер второе значение. Аналогично со словом "Олів'є"
и "олів'є". Можно учитывать эти различия?

Слово "онуча", которое я приводил как пример, объединило идеально. Результат во вложении.

Еще раз спасибо за помощь.
Вложения
Тип файла: zip Дублікати3.xlsx.zip (1.72 Мб, 6 просмотров)
0
3927 / 2324 / 786
Регистрация: 02.11.2012
Сообщений: 6,178
02.04.2018, 15:48 5
.CompareMode = BinaryCompare ' двоичный режим - различает регистр
dictionary
1
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
02.04.2018, 16:01 6
Лучший ответ Сообщение было отмечено kolime как решение

Решение

Цитата Сообщение от kolime Посмотреть сообщение
Можно учитывать эти различия?
Можно. А смысл?
С учетом регистра в обоих столбцах
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub bb1()
Dim v(), w(), i&, k&, d$(), s$, di As Object, x
  Set di = CreateObject("scripting.dictionary")
  Cells.Sort [A1], xlAscending, Header:=xlYes
  v = Range("B1", Cells(Rows.Count, "A").End(xlUp).Offset(1)).Value2
  ReDim w(1 To UBound(v), 1 To 2)
  For i = 1 To UBound(v)
    If v(i, 1) <> s Then
      k = k + 1
      w(k, 1) = s
      w(k, 2) = Join(di.keys, ", ")
      di.RemoveAll
      s = v(i, 1)
    End If
    For Each x In Split(v(i, 2), ",")
      If Len(x) Then di(x) = 0
    Next
  Next
  Worksheets.Add(, ActiveSheet).Cells(1, 1).Resize(k, 2).Value = w
End Sub
1
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 5
02.04.2018, 16:23  [ТС] 7
Спасибо большое! Смысл для словаря) «оливье» либо салат с маленькой буквы, либо фамилия с большой. Это как пример
0
02.04.2018, 16:23
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2018, 16:23
Помогаю со студенческими работами здесь

Создать документ похожий на Excel таблицу с форматированием строк и столбцов
Подскажите,пожалуйста, нужно с помощью C# создать документ похожий на excel табличку....

Сортировка с учетом регистра
Добрый день подскажите пожалуйста как произвести сортировку таблицы с учетом регистра?

Заменить с учетом регистра
Здравствуйте, использую функцию preg_replace в PHP. Пример: &lt;?php $string = &quot;The Quick brown...

Условие с учетом регистра
Подскажите, как в данном коде, прописать условие - с учетом регистра. if CheckBox1.Checked and...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов. / / . . .
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru