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

Вход

Регистрация

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

 

= Мир MS Excel/преобразование список столбцa в другом 2 столбце с условиям - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
преобразование список столбцa в другом 2 столбце с условиям
nikaluka1 Дата: Среда, 21.10.2015, 18:24 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2010

Возможно ли это?

слово который начинается с " pos" в столбце А, отображался в столбце E
и с правом (в столбце F) бильo слово, который в столбце A расположенo внизу этого слово
К сообщению приложен файл: Book1.xlsx (10.1 Kb)
 
Ответить
Сообщение
Возможно ли это?

слово который начинается с " pos" в столбце А, отображался в столбце E
и с правом (в столбце F) бильo слово, который в столбце A расположенo внизу этого слово

Автор - nikaluka1
Дата добавления - 21.10.2015 в 18:24
_Boroda_ Дата: Среда, 21.10.2015, 20:47 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Формулы массива, вводятся одновременным нажатием Контрл Шифт Ентер
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$12;НАИМЕНЬШИЙ(ЕСЛИ(ЛЕВБ(A$1:A$12;3)<>"pos";ПРОСМОТР(СТРОКА(A$1:A$12);СТРОКА(A$1:A$12)/(ЛЕВБ(A$1:A$12;3)="pos");СТРОКА(A$1:A$12)));СТРОКА()));"")

Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$12;НАИМЕНЬШИЙ(ЕСЛИ(ЛЕВБ(A$1:A$12;3)<>"pos";СТРОКА(A$1:A$12));СТРОКА()));"")


Добавлено
Формулы упростил, файл перевложил
К сообщению приложен файл: Book1_2.xlsx (11.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Формулы массива, вводятся одновременным нажатием Контрл Шифт Ентер
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$12;НАИМЕНЬШИЙ(ЕСЛИ(ЛЕВБ(A$1:A$12;3)<>"pos";ПРОСМОТР(СТРОКА(A$1:A$12);СТРОКА(A$1:A$12)/(ЛЕВБ(A$1:A$12;3)="pos");СТРОКА(A$1:A$12)));СТРОКА()));"")

Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$12;НАИМЕНЬШИЙ(ЕСЛИ(ЛЕВБ(A$1:A$12;3)<>"pos";СТРОКА(A$1:A$12));СТРОКА()));"")


Добавлено
Формулы упростил, файл перевложил

Автор - _Boroda_
Дата добавления - 21.10.2015 в 20:47
Hugo Дата: Среда, 21.10.2015, 21:01 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Макросом можно, но это правда не по профилю темы...
[vba]
Код
Option Explicit
Option Compare Text

Sub Perebor()    'коллекция в словаре
    Dim a, i&, t$, Dic As Object
    Dim el, col

    a = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
    Set Dic = CreateObject("Scripting.Dictionary")
    With Dic
        .comparemode = 1
        For i = 1 To UBound(a)
            If a(i, 1) Like "pos*" Then
                t = a(i, 1)
                If Not .exists(t) Then .Add t, New Collection
            Else
                .Item(t).Add a(i, 1)
            End If
        Next
    End With

    i = 0
    For Each el In Dic.keys
        If Dic.Item(el).Count > 0 Then
            For Each col In Dic.Item(el)
                i = i + 1
                Cells(i, 5) = el
                Cells(i, 6) = col
            Next
        End If
    Next

End Sub
[/vba]
Код для Windows!


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеМакросом можно, но это правда не по профилю темы...
[vba]
Код
Option Explicit
Option Compare Text

Sub Perebor()    'коллекция в словаре
    Dim a, i&, t$, Dic As Object
    Dim el, col

    a = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
    Set Dic = CreateObject("Scripting.Dictionary")
    With Dic
        .comparemode = 1
        For i = 1 To UBound(a)
            If a(i, 1) Like "pos*" Then
                t = a(i, 1)
                If Not .exists(t) Then .Add t, New Collection
            Else
                .Item(t).Add a(i, 1)
            End If
        Next
    End With

    i = 0
    For Each el In Dic.keys
        If Dic.Item(el).Count > 0 Then
            For Each col In Dic.Item(el)
                i = i + 1
                Cells(i, 5) = el
                Cells(i, 6) = col
            Next
        End If
    Next

End Sub
[/vba]
Код для Windows!

Автор - Hugo
Дата добавления - 21.10.2015 в 21:01
nikaluka1 Дата: Среда, 21.10.2015, 21:05 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2010
_Boroda_, огромное спосибо, но можно так сделать чтобы автоматически поивлялась дание в Е и F столбе? и взяло данные полного столбца A
 
Ответить
Сообщение_Boroda_, огромное спосибо, но можно так сделать чтобы автоматически поивлялась дание в Е и F столбе? и взяло данные полного столбца A

Автор - nikaluka1
Дата добавления - 21.10.2015 в 21:05
_Boroda_ Дата: Среда, 21.10.2015, 21:20 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
В файле на 99 строк. Диапазон можно увеличить, но без фанатизма, а то тормозить будет
К сообщению приложен файл: Book1_3.xlsx (11.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ файле на 99 строк. Диапазон можно увеличить, но без фанатизма, а то тормозить будет

Автор - _Boroda_
Дата добавления - 21.10.2015 в 21:20
nikaluka1 Дата: Среда, 21.10.2015, 21:23 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2010
_Boroda_, Блестящее решение !!! Большое спасибо
 
Ответить
Сообщение_Boroda_, Блестящее решение !!! Большое спасибо

Автор - nikaluka1
Дата добавления - 21.10.2015 в 21:23
Hugo Дата: Среда, 21.10.2015, 22:00 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Если что - мой вариант тормозить не будет, а если что2 - можно ускорить раз так в вероятно в 20 (выгрузку в 40)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЕсли что - мой вариант тормозить не будет, а если что2 - можно ускорить раз так в вероятно в 20 (выгрузку в 40)

Автор - Hugo
Дата добавления - 21.10.2015 в 22:00
  • Страница 1 из 1
  • 1
Поиск:

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