Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Убрать Type цифра и повторяющиеся модели - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Убрать Type цифра и повторяющиеся модели (Формулы/Formulas)
Убрать Type цифра и повторяющиеся модели
Marandi Дата: Понедельник, 28.01.2019, 15:40 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте, уважаемые форумчане.
Задача такая:
Нужно везде убрать TYPE цифра, а где где модель повторяется, убрать еще и саму повторную модель.
То есть, если в столбце E в ячейке DW152 TYPE 1, DW152 TYPE 2,
то в соседнем столбце должно остаться DW152
Если в столбце E в ячейке DCF680 TYPE 1, DCF682 TYPE 1,
то в соседнем столбце должно остаться DCF680, DCF682
То есть, если в столбце E в ячейке DW233K TYPE 2, DW233K TYPE 3, DW513 TYPE 1, DW515K TYPE 2, DW515K TYPE 3, DW515K TYPE 4,
то в соседнем столбце должно остаться DW233K, DW513, DW515K.


Сообщение отредактировал Marandi - Понедельник, 28.01.2019, 15:41
 
Ответить
СообщениеЗдравствуйте, уважаемые форумчане.
Задача такая:
Нужно везде убрать TYPE цифра, а где где модель повторяется, убрать еще и саму повторную модель.
То есть, если в столбце E в ячейке DW152 TYPE 1, DW152 TYPE 2,
то в соседнем столбце должно остаться DW152
Если в столбце E в ячейке DCF680 TYPE 1, DCF682 TYPE 1,
то в соседнем столбце должно остаться DCF680, DCF682
То есть, если в столбце E в ячейке DW233K TYPE 2, DW233K TYPE 3, DW513 TYPE 1, DW515K TYPE 2, DW515K TYPE 3, DW515K TYPE 4,
то в соседнем столбце должно остаться DW233K, DW513, DW515K.

Автор - Marandi
Дата добавления - 28.01.2019 в 15:40
Pelena Дата: Понедельник, 28.01.2019, 16:34 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 14234
Репутация: 3110 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
В Готовых решениях есть UDF для удаления дубликатов в строке. Если добавить удаление TYPE, то вполне можно использовать
[vba]
Код
Function NoDupesAtString(rng As Range, _
                         Optional sep As String = " ", _
                         Optional buReg As Long = 0) As String
' формула на листе имеет вид: =NoDupesAtString(A4;", ";1)
' A4 - ячейка, в которой нужно удалить повторы
' ", " - разделитель (по умолчанию пробел)
' 1 - без учета регистра (0 - с учетом регистра, по умолчанию)
    Dim v, s As String: s = sep
    If buReg = 0 Then
        For Each v In Split(rng.Value, sep)
            If Len(v) Then
                v = Trim$(Left(v, InStr(v, "TYPE") - 1))
                If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
            End If
        Next
    Else
        For Each v In Split(rng.Value, sep)
            If Len(v) Then
                v = Trim$(Left(v, InStr(v, "TYPE") - 1))
                If InStr(UCase(s), sep & UCase(v) & sep) = 0 Then s = s & v & sep
            End If
        Next
    End If
    NoDupesAtString = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВ Готовых решениях есть UDF для удаления дубликатов в строке. Если добавить удаление TYPE, то вполне можно использовать
[vba]
Код
Function NoDupesAtString(rng As Range, _
                         Optional sep As String = " ", _
                         Optional buReg As Long = 0) As String
' формула на листе имеет вид: =NoDupesAtString(A4;", ";1)
' A4 - ячейка, в которой нужно удалить повторы
' ", " - разделитель (по умолчанию пробел)
' 1 - без учета регистра (0 - с учетом регистра, по умолчанию)
    Dim v, s As String: s = sep
    If buReg = 0 Then
        For Each v In Split(rng.Value, sep)
            If Len(v) Then
                v = Trim$(Left(v, InStr(v, "TYPE") - 1))
                If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
            End If
        Next
    Else
        For Each v In Split(rng.Value, sep)
            If Len(v) Then
                v = Trim$(Left(v, InStr(v, "TYPE") - 1))
                If InStr(UCase(s), sep & UCase(v) & sep) = 0 Then s = s & v & sep
            End If
        Next
    End If
    NoDupesAtString = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
[/vba]

Автор - Pelena
Дата добавления - 28.01.2019 в 16:34
Marandi Дата: Понедельник, 28.01.2019, 16:43 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, спасибо!
И это макрос?


Сообщение отредактировал Marandi - Понедельник, 28.01.2019, 16:50
 
Ответить
СообщениеPelena, спасибо!
И это макрос?

Автор - Marandi
Дата добавления - 28.01.2019 в 16:43
Pelena Дата: Понедельник, 28.01.2019, 16:50 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14234
Репутация: 3110 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
В шапке сайта есть вкладка Готовые решения, там найти Пользовательские функции.
См. ссылку в предыдущем посте.
Да, макросы должны быть разрешены


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВ шапке сайта есть вкладка Готовые решения, там найти Пользовательские функции.
См. ссылку в предыдущем посте.
Да, макросы должны быть разрешены

Автор - Pelena
Дата добавления - 28.01.2019 в 16:50
Marandi Дата: Понедельник, 28.01.2019, 17:06 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, спасибо! Попробую сейчас.
 
Ответить
СообщениеPelena, спасибо! Попробую сейчас.

Автор - Marandi
Дата добавления - 28.01.2019 в 17:06
Marandi Дата: Понедельник, 28.01.2019, 17:50 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, я добавила функцию, изменив на E4 вместо A4, т.к. нужно работать со столбцом E. Я правильно сделала?
Потом вставила в соседнюю ячейку = и название функции, а она открывает скобку, и я не знаю, в какую ячейку нужно щелкнуть и зачем открывается скобка.
Если щелкнуть на E4, выдает ошибку значения.
 
Ответить
СообщениеPelena, я добавила функцию, изменив на E4 вместо A4, т.к. нужно работать со столбцом E. Я правильно сделала?
Потом вставила в соседнюю ячейку = и название функции, а она открывает скобку, и я не знаю, в какую ячейку нужно щелкнуть и зачем открывается скобка.
Если щелкнуть на E4, выдает ошибку значения.

Автор - Marandi
Дата добавления - 28.01.2019 в 17:50
Pelena Дата: Понедельник, 28.01.2019, 18:01 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 14234
Репутация: 3110 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Приложите уже файл с примером и функцией


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПриложите уже файл с примером и функцией

Автор - Pelena
Дата добавления - 28.01.2019 в 18:01
Marandi Дата: Понедельник, 28.01.2019, 18:05 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena,
К сообщению приложен файл: _2.2.xlsm(20.3 Kb)
 
Ответить
СообщениеPelena,

Автор - Marandi
Дата добавления - 28.01.2019 в 18:05
Pelena Дата: Понедельник, 28.01.2019, 19:00 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 14234
Репутация: 3110 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Там надо дописать второй аргумент, потому что по умолчанию в качестве разделителя используется пробел, а у Вас - запятая
[vba]
Код
=NoDupesAtString(E3;", ")
[/vba]
К сообщению приложен файл: 1985833.xlsm(20.6 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТам надо дописать второй аргумент, потому что по умолчанию в качестве разделителя используется пробел, а у Вас - запятая
[vba]
Код
=NoDupesAtString(E3;", ")
[/vba]

Автор - Pelena
Дата добавления - 28.01.2019 в 19:00
Marandi Дата: Среда, 30.01.2019, 10:33 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, спасибо еще раз! получилось!
 
Ответить
СообщениеPelena, спасибо еще раз! получилось!

Автор - Marandi
Дата добавления - 30.01.2019 в 10:33
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Убрать Type цифра и повторяющиеся модели (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!