Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Поиск и подсчёт количества конкретных слов в ячейке, поиск в каждой ячейке данных, взятых из другого диапазона
 
Msi2102, круто, макрос это интересно, но не просто))) Спасибо большое, буду разбираться.
Поиск и подсчёт количества конкретных слов в ячейке, поиск в каждой ячейке данных, взятых из другого диапазона
 
БМВ, супер! Спасибо огромное, я бы не додумалась).
Поиск и подсчёт количества конкретных слов в ячейке, поиск в каждой ячейке данных, взятых из другого диапазона
 
Добрый день.
Прошу помощи, никак не могу понять, как правильно посчитать без костылей данную задачу.
У меня есть диапазон данных, в каждой ячейке перечислены номера, из которых мне надо вычленить те, что есть в другом списке, или хотя бы их количество.
В примере, похожая задача, с малым количеством данных, просто рандомные значения (на какие фантазии хватило :) ), у меня же их тысячи.
Ранее я делила построчно те данные, что перечислены у меня через точку запятой и формулой "просмотрX" притягивала данные, потом снова сводила всё в одну ячейку макросом.
Учитывая, что их тысячи это долго и неудобно, дошла до варианта, что в файле, просто считать количество -
Скрытый текст
, но он несовершенен.
Для примера оставила столбец с подтянутыми данными, сколько в реальности в ячейке есть значений и каких (серым выделен), формула невсегда верно определяет искомое значение.
Подскажите, есть ли какие-то варианты, или не обойтись без способа, который я использовала ранее с обычной разбивкой данных построчно.
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
New, Да, ваш тоже попробовала. С моим примером все работает, но если добавляю более длинную строку с данными (больше данных), то отказывается работать.  
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
Anchoret, супер, спасибо, всё работает.
Буду разбираться (пытаться) что и как.
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
Цитата
написал:
Выгружает на второй лист с предварительной его очисткой
Код
    [URL=#]?[/URL]       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      Sub   aaa()    Dim   DC   As   Object  , a&, b&, c&, dd(), arr(), t$, aa, bb, cc, sh   As   Worksheet, tt$, x&    '====================    Set   DC = CreateObject(  "Scripting.Dictionary"  )    Set   sh = ActiveSheet    b = Cells(sh.Rows.Count,   "A"  ).  End  (xlUp).Row    aa = Array(  "type"  , Chr(34),   "{"  ,   "}"  ,   "  "  ,   "\", "  value  ", "  [  ", "  ]  ", "  EML")    '---- формируем список всех возможных заголовков/полей для таблицы с нумерацией в порядке их нахождения    For   a = 2   To   b        t = sh.Cells(1, 1) +   ":"   + sh.Cells(a, 1) +   ","        t = t + sh.Cells(b,   "G"  )        For   c = 0   To   UBound(aa): t = Replace(t, aa(c),   ""  , , , vbTextCompare):   Next        t = Replace(t,   ",,"  ,   ""  ): t = Replace(t,   " , :"  ,   ""  )        t = Replace(t,   " : "  ,   ""  ): bb = Split(t,   ","  )        ReDim   Preserve   arr(1   To   a - 1): arr(a - 1) = bb        For   c = 0   To   UBound(bb)          If   InStr(1, bb(c),   ":"  )   Then            cc = Split(bb(c),   ":"  ): tt = LTrim(RTrim(UCase(cc(0))))            If   Not   DC.exists(tt)   And   Len(tt) > 1   Then   x = x + 1: DC.Add tt, x          End   If        Next    Next    '---------заполняем массив данными, т.е. рождается новая таблица. пока еще виртуальная    ReDim   dd(1   To   b - 1, 1   To   DC.Count):    For   a = 1   To   UBound(arr)        bb = arr(a)        For   c = 0   To   UBound(bb)          If   InStr(1, bb(c),   ":"  )   Then            cc = Split(bb(c),   ":"  ): tt = LTrim(RTrim(UCase(cc(0))))            If   DC.exists(tt)   Then   dd(a, DC.Item(tt)) = cc(1)          End   If        Next    Next    With   Sheets(2)        .UsedRange.ClearContents        aa = DC.keys()        For   a = 0   To   UBound(aa): .Cells(1, a + 1) = aa(a):   Next        .[A2].Resize(UBound(dd, 1), UBound(dd, 2)).Value = dd()    End   With    End   Sub   
 
Почему-то макрос вставляет одни и те же данный в строки (кроме первых столбцов):
IDINNEMAILPHYSINNSNILSSHORTNAMENAMELASTNAMEFIRSTNAMEMIDDLE
11-KL2,34568E+11Ivan@yandex.ru2,34568E+11111333444 Иванов Иван Иванов Иван Иванович
125-MK2,34568E+11Ivan@yandex.ru2,34568E+11111333444 Иванов Иван Иванов Иван Иванович
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
Цитата
написал:
Екатерина Глазунова, для json у вас данные какие-то кривоватые, такое ощущение, что вы из ответа надергали, что попало
добавил столбец q с более менее правильным синтаксисом для json, далее преобразование в pq
Так вот выгрузили сырые данные из БД, срочность...
Синтаксис поменять в двух строчках куда не шло) а у меня их было 4 тысячи.
Спасибо, за предложенный вариант. :)
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
Цитата
написал:
Попробовать через НАЙТИ, ДЛСТР и ПСТР - сделать один раз для каждого признака, и применять потом ко всем строчкам. Во вложенном файле пример для признаков ОГРН и фамилии.
В итоге так и сделала, использовала ПСТР и ПОИСК, обозначала словами начало и конец вывода грубо говоря. Быстрее чем совсем вручную, но тоже долго.
Пример для поиска Name  по всем строкам (в оригинале их тысячи) (см.H2 и H3):
=ПСТР([@damp]; ПОИСК("Name";[@damp]); ПОИСК("OGRN";[@damp];ПОИСК("Name";[@damp])) - ПОИСК("Name";[@damp]))
Изменено: Екатерина - 24.01.2023 10:09:45
Разнести данные из ячейки по столбцам от и до определенного слова (символа), Данные по столбцам в зависимости от определенных слов в ячейке
 
Всем доброй ночи!
Есть выгрузка из базы, в один столбец попали массивы данных, которые не распределились по столбцам верно. Можно ли с помощью макроса или других инструментов эксель, привести это все в порядок.
Пример во вложении, в оригинале немного иные данные и больше, но задумка та же. Зеленым пример того, что выгрузилось, оранжевым, то, что хотелось бы увидеть.
Буду рада подсказкам, пока кроме очистки данных руками, не нашла варианта решения проблемы, раскидать по столбцам по разделителю тоже не подходит, так как последовательность данных не совпадает, где-то адрес в начале, где-то в конце. ПСТР - все равно, что руками зачищать... идей больше нет.

Заранее спасибо.
Изменено: Екатерина Глазунова - 23.01.2023 23:56:10
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
IKor, vikttur, МатросНаЗебре,
:D
Замужество случилось в конце августа) После создания темы бросилась в глаза прошлая фамилия - решила поменять)) Всё просто)

Файл не связан с праздничным событием) Оригинальный файл нельзя подгружать - секретность :sceptic:   первое, что в голову пришло напечатала :D  
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
Цитата
Mershik написал:
показали бы ошибку...у меня все работает
Хм... беру свои слова назад.. сейчас всё гуд. Мой косяк) Спасибо))
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
Александр,
Да, уже открыла, смотрю))

Mershik,не сработал ваш макрос( ошибку выдал
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
IKor,
спасибо!
Это тоже очень может пригодиться.
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
Александр,
интересно.
А как вы это сделали?
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
Цитата
Jack Famous написал: Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
Спасибо, я уже неделю запрос верно сформулировать-то пытаюсь)))

МатросНаЗебре, спасибо, работает))))
No Name, тоже работает, только ячейки ("A2:C10") немного поменяла. Спасибо!
Огромное всем спасибо, буду теперь пытаться понять, как вы эту магию сотворили))) Чудеса просто  :D  
Разделить ячейки по разделителю ВНИЗ (по строкам), вставляя новые строки
 
Приветствую всех!
Очень прошу помощи, то ли я запрос правильно сформулировать не могу, то ли это что-то сложное, но нигде не могу найти решение моей задачи.
Подгрузила, как пример вымышленную таблицу, в моём случае значений далеко за тысячу, больше столбцов и вручную делать перетасовку данных реально, но довольно долго.

Суть - есть данные - год, месяц (рождения) и перечисление имён через запятую (три столбца - Год/Месяц/Имя).
Мне же необходимо, раскидать значения имён в столбец по строкам, и значения, которые им ранее соответствовали скопировать также построчно, при этом те данные где ничего раскидывать не нужно, остаются в том же виде.
Чтобы было понятнее прикрепила табличку - первый лист то, что у меня есть изначально, второй - "итог", то что должно получиться.
Подозреваю, что без макроса тут не обойтись...
Ещё раз обращаю внимание, что у меня данных намного больше, и значений в некоторых ячейках через запятую, достигает 100 и более, их надо превратить в столбец.

Есть ли какие-то варианты решения, не тратя на это много времени?
Заранее спасибо.
Изменено: vikttur - 31.08.2021 13:06:16
Страницы: 1
Наверх