Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 08.08.2012
Сообщений: 11

Сопоставление ячейки с текстом определённой категории

08.08.2012, 01:19. Показов 2958. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь. есть столбец 2000 ячеек текст в них до 10 слов. Необходимо напротив каждой ячейки получить каталожный номер (от 1 до 10) в зависимости от текста в 1 столбце. Каталожный номер присваивается в зависимости какие слова находятся в ячейки.

Например: 1 категория если в тексте есть слова, хотя бы одно: яблоко, груша, слива, виноград
2 категория : баклажан, кабачок
3 категория : лук, петрушка, укроп
и так далее

текст первой колонки
сладкое зелёное яблоко
жёлтая кислая слива
гигантский кабачок
лук с грядки
груша большая вкусная
баклажан заморский деликатесный
лук выражен в теплице
виноград крымский лилия
и т.д.

в итоге должны получить | категория
сладкое зелёное яблоко | 1
жёлтая кислая слива | 1
гигантский кабачок | 2
лук с грядки | 3
груша большая вкусная | 1
баклажан заморский деликатесный | 2
лук выражен в теплице | 3
виноград крымский лилия | 1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2012, 01:19
Ответы с готовыми решениями:

Категории бесконечной вложенности (Вывод определенной родительской категории с дочерними)
Имеется SQL база категорий вида (id,name,subcategory) - Если subcategory=0 то это родительская категория Создание массива: ...

Удаление части текста ячейки, который совпадает с текстом соседней ячейки
Добрый день. Заранее извиняюсь, за возможный повтор темы. Ситуация следующая: Есть таблица на 5к+ строк, в которой содержатся данные...

Залить ячейки находящиеся на одной стороке с одинаковым текстом в другой ячейки находящейся в этой же строке
Здравствуйте. Вопрос от непонимающего. Как Залить ячейки находящиеся на одной стороке с одинаковым текстом в другой ячейки находящейся в...

12
1250 / 408 / 52
Регистрация: 14.06.2009
Сообщений: 629
08.08.2012, 02:35
.....
1
0 / 0 / 0
Регистрация: 08.08.2012
Сообщений: 11
09.08.2012, 01:23  [ТС]
благодорю за помощь

Добавлено через 4 часа 5 минут
а что нужно изменить в макросе чтобы не было различий между прописными и строчными буками в словах
0
1250 / 408 / 52
Регистрация: 14.06.2009
Сообщений: 629
09.08.2012, 02:09
.....
1
0 / 0 / 0
Регистрация: 08.08.2012
Сообщений: 11
09.08.2012, 02:31  [ТС]
не успел отписаться, нашол сам. А функция InStr если не находит совпадений возвращает 0 ? хочу сделать если не нашло выводило значение ячейки Нет
0
1250 / 408 / 52
Регистрация: 14.06.2009
Сообщений: 629
09.08.2012, 02:42
Тогда так.
1
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 4
28.11.2014, 06:32
Уважаемые форумчане.
Помогите доработать макрос с тем учетом, если в ячейки 2 и более слов, то поиск ведется по случайному совпадению этих слов в названии.
Пример во вложении.
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,670
28.11.2014, 07:56
так?
0
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 4
28.11.2014, 08:15
Макрос хороший, но не совсем подходит. Он ищет по совпадению хотя бы одно слова в ячейки. А мне надо чтобы с условием всех слов в ячейке в любом порядке. Если нет полного совпадения в любом порядке, то и вывода нет.
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,670
28.11.2014, 08:19
Вас не поймешь
Цитата Сообщение от rutra_w Посмотреть сообщение
Например: 1 категория если в тексте есть слова, хотя бы одно: яблоко, груша, слива, виноград
так как должно искать
опишите алгоритм
0
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 4
28.11.2014, 08:44
То вообще не я писал. У меня другие цели. Файл прикрепил к первому вопросу что хочется увидеть.

Добавлено через 8 минут
Вот допустим текст первой колонки "Лук репчатый вкусный". если в категории написано,- "лук вкусный", то выдает "Лук". Если написано просто "лук", то тоже выдает,- "лук", но если написано в категории "лук вкусный деликатесный", то выползает 0. Так как все три слова не встречаются в тексте первой колонки.
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,670
28.11.2014, 09:00
Visual Basic
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
Function ПОИСК_КАТЕГОРИИ(Ячейка As Range) As Integer
iRow = Columns("F").Find(What:="*", LookIn:=xlValues, SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
Dim a() As String
For i = 2 To iRow
adf = 0
Erase a()
asd = EraseSpace(Cells(i, 6))
If InStr(1, asd, " ") = 0 Then
ReDim a(1)
a(0) = asd
adf = 1
Else
a = Split(asd, " ")
End If
For j = 0 To UBound(a())
If FindString(Ячейка, a(j)) Then adf = adf + 1
Next j
If adf = UBound(a()) + 1 Then ПОИСК_КАТЕГОРИИ = Cells(i, 5): Exit Function
Next i
ПОИСК_КАТЕГОРИИ = 0
End Function
Public Function FindString(iCells As Range, iWord As String) As Boolean
If iWord = "" Then FindString = False: Exit Function
If InStr(1, LCase(iCells.Value), LCase(Replace(iWord, " ", ""))) > 0 Then FindString = True Else FindString = False
End Function
 
Public Function EraseSpace(asd As String) As String
Do While InStr(1, asd, "  ") > 0
asd = Replace(asd, "  ", " ")
Loop
EraseSpace = Trim(asd)
End Function
0
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 4
03.12.2014, 08:21
Макрос хороший спасибо! Но как только появляется буква в категории сразу вылазит ошибка, вместо выдачи этой категории. И еще, как бы увеличить сравнение не только по одной колонке, в данном случае "F", а еще по нескольким?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2014, 08:21
Помогаю со студенческими работами здесь

Форматирование ячейки в dataGridView. Как поменять цвет определенной ячейки
Хочу поменять цвет выбранной ячейки, так что бы когда при выбраной строки цвет ячейки оставался таким же. Пример: Что бы дата...

Условие в определенной категории
Доброго времени суток ! Помогите с такой проблемой: Например: У мене на сайте DLE 9.8 есть две категории - экономика (айди 5) и...

Вывод товаров с определенной категории
Добрый день. Подскажите, можно ли вывести товары с определенной категории? Как реализовать подобное?

Вывод постов определенной категории
Ку есть код для вывода постов всех, как выводить только из определенной категории?Заранее спасибо <?php $temp = $wp_query;...

Вывод записей определенной категории
Не могу разобрать , что нужно добавить в код чтобы выводились записи определенной категории. При чем в одной строке из одной категории, в...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru