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

Вход

Регистрация

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

 

= Мир MS Excel/Вывести все имена(адреса) ячеек из A1:C3, в которых знач. 1 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вывести все имена(адреса) ячеек из A1:C3, в которых знач. 1 (Формулы/Formulas)
Вывести все имена(адреса) ячеек из A1:C3, в которых знач. 1
stalber Дата: Среда, 28.12.2022, 16:09 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация: 7 ±
Замечаний: 40% ±

Excel 2007
Здравствуйте, подскажите пожалуйста.

Нужно вывести все имена(адреса) ячеек из диапазона A1:C3, в которых значение 1
К сообщению приложен файл: vopros2812.xlsx (7.8 Kb)
 
Ответить
СообщениеЗдравствуйте, подскажите пожалуйста.

Нужно вывести все имена(адреса) ячеек из диапазона A1:C3, в которых значение 1

Автор - stalber
Дата добавления - 28.12.2022 в 16:09
Nic70y Дата: Среда, 28.12.2022, 16:28 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Function N_1(a As Range)
    u = ""
    For Each w In a
        If w = 1 Then u = u & w.Address(0, 0)
    Next
    N_1 = u
End Function
[/vba]
К сообщению приложен файл: vopros2812.xlsm (13.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Function N_1(a As Range)
    u = ""
    For Each w In a
        If w = 1 Then u = u & w.Address(0, 0)
    Next
    N_1 = u
End Function
[/vba]

Автор - Nic70y
Дата добавления - 28.12.2022 в 16:28
_Boroda_ Дата: Среда, 28.12.2022, 16:30 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
UDF-ka
[vba]
Код
Function Adr(Diap As Range, Poisk)
    ar = Diap.Value
    If IsArray(ar) Then
        For j = 1 To UBound(ar, 2)
            For i = 1 To UBound(ar)
                If ar(i, j) = Poisk Then
                    z_ = z_ & Diap(i, j).Address(0, 0)
                End If
            Next i
        Next j
    Else
        If ar = Poisk Then
            z_ = Diap.Address(0, 0)
        End If
    End If
    Adr = z_
End Function
[/vba]
На листе вводится так
Код
=Adr(A1:C3;1)

В файле выложить не могу, безопасность блокирует. Самостоятельно в файл вставите?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеUDF-ka
[vba]
Код
Function Adr(Diap As Range, Poisk)
    ar = Diap.Value
    If IsArray(ar) Then
        For j = 1 To UBound(ar, 2)
            For i = 1 To UBound(ar)
                If ar(i, j) = Poisk Then
                    z_ = z_ & Diap(i, j).Address(0, 0)
                End If
            Next i
        Next j
    Else
        If ar = Poisk Then
            z_ = Diap.Address(0, 0)
        End If
    End If
    Adr = z_
End Function
[/vba]
На листе вводится так
Код
=Adr(A1:C3;1)

В файле выложить не могу, безопасность блокирует. Самостоятельно в файл вставите?

Автор - _Boroda_
Дата добавления - 28.12.2022 в 16:30
bigor Дата: Среда, 28.12.2022, 16:52 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1099
Репутация: 209 ±
Замечаний: 0% ±

нет
Для новых офисов, формулой. Нового Excel нет, поэтому не проверял :) Массивная
Код
=TEXTJOIN("";1;IF(A1:C3=1;VLOOKUP(COLUMN(A1:C3);{1;"A"|2;"B"|3;"C"};2;0) & ROW(A1:C3));"")
 
Ответить
СообщениеДля новых офисов, формулой. Нового Excel нет, поэтому не проверял :) Массивная
Код
=TEXTJOIN("";1;IF(A1:C3=1;VLOOKUP(COLUMN(A1:C3);{1;"A"|2;"B"|3;"C"};2;0) & ROW(A1:C3));"")

Автор - bigor
Дата добавления - 28.12.2022 в 16:52
stalber Дата: Четверг, 29.12.2022, 00:54 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация: 7 ±
Замечаний: 40% ±

Excel 2007
_Boroda_, подскажите пожалуйста, можно сделать чтобы запись была не: A1A2B2C3 а после каждого адреса ставилась запятая A1,A2,B2,C3,


Сообщение отредактировал Serge_007 - Четверг, 29.12.2022, 09:21
 
Ответить
Сообщение_Boroda_, подскажите пожалуйста, можно сделать чтобы запись была не: A1A2B2C3 а после каждого адреса ставилась запятая A1,A2,B2,C3,

Автор - stalber
Дата добавления - 29.12.2022 в 00:54
Egyptian Дата: Четверг, 29.12.2022, 01:45 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
после каждого адреса ставилась запятая A1,A2,B2,C3,

Думаю, надо слегка подправить эту строчку:
[vba]
Код
z_ = z_ & Diap(i, j).Address(0, 0) & ","
[/vba]
 
Ответить
Сообщение
после каждого адреса ставилась запятая A1,A2,B2,C3,

Думаю, надо слегка подправить эту строчку:
[vba]
Код
z_ = z_ & Diap(i, j).Address(0, 0) & ","
[/vba]

Автор - Egyptian
Дата добавления - 29.12.2022 в 01:45
_Boroda_ Дата: Четверг, 29.12.2022, 09:19 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Почти. Только лишнюю запятую убрать в конце потом. Но мне больше нравится сначала убирать
[vba]
Код
Function Adr(Diap As Range, Poisk)
    ar = Diap.Value
    If IsArray(ar) Then
        del_ = ","
        For j = 1 To UBound(ar, 2)
            For i = 1 To UBound(ar)
                If ar(i, j) = Poisk Then
                    z_ = z_ & del_ & Diap(i, j).Address(0, 0)
                End If
            Next i
        Next j
        z_ = Mid(z_, Len(del_) + 1)
    Else
        If ar = Poisk Then
            z_ = Diap.Address(0, 0)
        End If
    End If
    Adr = z_
End Function
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПочти. Только лишнюю запятую убрать в конце потом. Но мне больше нравится сначала убирать
[vba]
Код
Function Adr(Diap As Range, Poisk)
    ar = Diap.Value
    If IsArray(ar) Then
        del_ = ","
        For j = 1 To UBound(ar, 2)
            For i = 1 To UBound(ar)
                If ar(i, j) = Poisk Then
                    z_ = z_ & del_ & Diap(i, j).Address(0, 0)
                End If
            Next i
        Next j
        z_ = Mid(z_, Len(del_) + 1)
    Else
        If ar = Poisk Then
            z_ = Diap.Address(0, 0)
        End If
    End If
    Adr = z_
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 29.12.2022 в 09:19
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вывести все имена(адреса) ячеек из A1:C3, в которых знач. 1 (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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