0 / 0 / 0 Регистрация: 27.04.2009 Сообщений: 265 |
|
1 |
|
Как узнать номер строки для активной ячейки?22.09.2009, 09:21. Показов 63238. Ответов 8
Как узнать номер строки для активной ячейки?
0 |
Savelev |
|
22.09.2009, 10:51 |
2 |
ActiveCell.Row |
0 / 0 / 0 Регистрация: 27.04.2009 Сообщений: 265 |
|
22.09.2009, 12:08 [ТС] |
3 |
спасибо
0 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
15.01.2018, 13:33 |
4 |
а для умной таблицы, можно так сделать?
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
15.01.2018, 14:17 |
5 |
Можно.
1 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
17.01.2018, 14:56 |
6 |
А как, не подскажете? Будьте добры, если не сложно))
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.01.2018, 15:24 |
7 |
Что именно нужно «а для умной таблицы, можно так сделать» ?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
17.01.2018, 15:53 |
8 |
|||
Stav-ortodox, номер строки в диапазоне данных умной таблицы?
0 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
17.01.2018, 16:30 |
9 |
Вот, то что нужно! Спаси Господи!!
0 |
How do I find the row number in a table (Excel 2010) from the selected cell.
I can find the sheet row number from ActiveRow.Row
or Selection.Row
. But I want to know what row number in the table this is.
ivan_pozdeev
33.3k16 gold badges105 silver badges150 bronze badges
asked Oct 7, 2014 at 8:57
Selection.Row - Selection.ListObject.Range.Row
answered Oct 29, 2017 at 11:56
JalalJalal
5466 silver badges12 bronze badges
1
Here’s an idea, try getting (active row — first row of table). That will give you the row number from the table.
Peter O.
31.9k14 gold badges81 silver badges95 bronze badges
answered Oct 7, 2014 at 9:03
i am not a vba / excel expert but this might do the job:
the answer is a bit late — but i ran into the same problem.
my function returns a listRow object, that is more powerful:
Sub testit()
Dim myList As ListObject
Dim myRow As ListRow
'some reference to a listObject
Set myList = ActiveWorkbook.Sheets(1).ListObjects("TableX")
'
'test the function
Set myRow = FirstSelectedListRow(myList)
'
'select the row
myRow.Select
'get index within sheet
MsgBox ("sheet row num " & myRow.Range.Row)
' get index within list
MsgBox ("List row index " & myRow.Index)
End Sub
'return ListRow if at least one cell of one row is acitve
'return Nothing otherwise
Function FirstSelectedListRow(list As ListObject) As ListRow
'default return
Set FirstSelectedListRow = Nothing
'declarations
Dim activeRange As Range
Dim activeListCells As Range
Dim indexSelectedRow_Sheet As Long
Dim indexFirstRowList_Sheet As Long
Dim indexSelectedRow_List As Long
'get current selection
Set activeRange = Selection
Set activeListCells = Intersect(list.Range, activeRange)
'no intersection - test
If activeListCells Is Nothing Then
Exit Function
End If
indexSelectedRow_Sheet = activeRange.Row
indexFirstRowList_Sheet = list.Range.Row
indexSelectedRow_List = indexSelectedRow_Sheet - indexFirstRowList_Sheet
Set FirstSelectedListRow = list.ListRows(indexSelectedRow_List)
End Function
answered Jan 20, 2015 at 17:12
This might help, assuming that there is only one table in sheet. Otherwise You need to specify the table range.
Sub FindRowNoInTable()
Dim ObjSheet As Worksheet
Dim startRow, ActiveRow, ActiveCol
Dim ObjList As ListObject
Set ObjSheet = ActiveSheet
ActiveRow = ActiveCell.Row
ActiveCol = ActiveCell.Column
For Each ObjList In ObjSheet.ListObjects
Application.Goto ObjList.Range
startRow = ObjList.Range.Row
Next
MsgBox (ActiveRow - startRow)
Cells(ActiveRow, ActiveCol).Select
End Sub
answered Oct 8, 2014 at 15:26
AnandAnand
153 bronze badges
YourRange.row minus YourListObject.HeaderRowRange.row
answered Feb 25, 2021 at 1:53
A little late, but I landed here whilst searching for this, so …
Simplest way I know:
dim MyTable as listobject
dim MyRow as integer
' Here your code or a manual action makes you end up on a random row
... Dostuffdostuffbleepbloop ...
' Find the row number you landed on within the table (the record number if you will)
MyRow = MyTable.DataBodyRange().Row
That’s it.
Pease note:
- This is done with Office 2019
- The brackets after DataBodyRange are EMPTY.
- The row counter is from DataBodyRange thus does NOT include the headers
Hope it helps someone.
answered Jan 2 at 18:54
Определение активных составляющих книги
Мне кажется, многие загонялись таким вопросом, как определить активную ячейку (на которой находится курсор), строку или столбец. Или же хотелось получить адрес в формате А1, В4 и т.д. Вот сегодня я и покажу, как это сделать, потому, что очень удобно, когда ты знаешь активные элементы книги.
Номер активной строки
Практически все активные элементы определяются при помощи такого слова — Active, кторое записывается перед определением активного элемента. Таким образом, номер активной строки можно вычислить следующим образом:
Sub Stroka()
s = ActiveCell.Row
MsgBox «Активная строка под номером » & s, vbInformation, «Активная строка»
End Sub
Номер активного столбца и стороки
Аналогично определению строки столбец определяется по такому же принципу, только в конце добавляется не строка, а столбец:
Sub Stroka()
s = ActiveCell.Row
b = ActiveCell.Column
MsgBox «Активная строка под номером » & s & » » & _
vbNewLine & «Активный столбец под номером » & b, vbInformation, «адрес»
End Sub
Определяем номер последней заполненной строки и столбца
Sub Last_Stroka_and_Stolbec()
‘ищем последнюю заполненную строку и столбец и выводим сообщение о номере
Stroka = ActiveSheet.Cells.Find(What:=»*», SearchDirection:=xlPrevious, _
SearchOrder:=xlByRows).Row
Stolbec = ActiveSheet.Cells.Find(What:=»*», SearchDirection:=xlPrevious, _SearchOrder:=xlByRows).Column
MsgBox «Последняя строка под номером » & Stroka & » » & _
vbNewLine & «Последний столбец под номером » _
& Stolbec, vbInformation, «Адрес»
End Sub
Определяем активную ячейку
Исходя из выше записанных выражений теперь можно смело определить координаты активной ячейки. То-есть определяем активную строку, активный столбец и получаем координаты активной ячейки. Выглядеть это будет так:
Sub yacheika()
sk = ActiveCell.Row
st = ActiveCell.Column
MsgBox «Активная ячейка имеет координаты Cells(» & sk & «,» & st & «)», _
vbInformation, «Активная ячейка»
End Sub
Адрес активной ячейки
Многие думали, а как получить адрес активной ячейки? Очень просто, делается это так:
Sub adres()
A = ActiveCell.Address
MsgBox «Абсолютный адрес активной ячейки — » & A, vbInformation, «Адрес»
End Sub
Но такая запись может не устроить некоторых, потому что вней присутствуют $, т.е. абсолютное значение, а не относительное. Но и это можно поправить. Доллары уберутся, если записать код так:
Sub adress()
A = ActiveCell.Address(0, 0)
MsgBox «Относительный адрес активной ячейки — » & A, vbInformation, «Адрес»
End Sub
В скобках оператора Address указано какое именно значение должно быть относительным, а какое абсолютным. Если Address(0,0), то и строка и столбец записаны относительными (первый ноль отвечает за строку, второй ноль — это столбец). Если в строке поставить вместо ноля еденицу, то строка будет абсолютным значением, а столбец относительным. Причём значения следующих записей равнозначны:
Address(1, 0) = Address(True, False)
Адрес выделенного диапазона ячеек
Адрес выделенного диапазона можно получить следующим образом
Sub diapazon()
‘используйте любую переменную для определения адреса
A = Selection.Rows.Address(0, 0) ‘Через строку
b = Selection.Columns.Address(0, 0) ‘Через столбец
c = Selection.Address(0, 0)
MsgBox «Выделенный диапазон — » & A, vbInformation, «Адрес»
End Sub
Координаты выделенного диапазона
Не знаю почему, но у многих возникает какая-то сложность определения координат выделенного диапазона, хотя существует очень много способов. Я приведу пример одного, но который будет понятен сейчас.
Sub Kdiapazon()
a = Selection.Row
b = Selection.Column
K1 = Cells(a, b).Address(0, 0)
aa = a + Selection.Rows.Count — 1
bb = b + Selection.Columns.Count — 1
K2 = Cells(aa, bb).Address(0, 0)
MsgBox «Первая координата выделенного диапазона — » & K1 & vbNewLine & _
«Вторая координата выделенного диапазона — » & K2, vbInformation, «Координаты»
End Sub
a — Определяет номер первой строки выделенного диапазона;
b — Определяет номер первого столбца выделенного диапазона;
K1 — Определяем первую координату выделенного диапазона;
aa — Определяем номер последней строки выделенного диапазона;
bb — Определяем номер пследнего столбца выделенного диапазона;
K2 — Определяем вторую координату выделенного диапазона;
Selection.Rows.Count — определяет количество строк в выделенном диапазоне;
Selection.Columns.Count — определяет количество столбцов в выделенном диапазоне;
У многих возник вопрос: А почему вычитаем единицу? Всё потому, что первая координата входит в выделенный диапазон и нам её надо не потерять.
Имя активной книги
Имя активной книги возможно вычислить такой записью:
Sub WorkbookName()
Name = ActiveWorkbook.Name
MsgBox «Имя активной книги — » & Name, vbInformation, «Имя активной книги»
End Sub
Имя активного листа
Имя активного листа можно определить так:
Sub SheetsName()
Name = ActiveSheet.Name
MsgBox «Имя активного листа — » & Name, vbInformation, «Имя активного листа»
End Sub
Определение адреса выделенного диапазона ячеек на листе Excel с помощью кода VBA. Определение номера первой и последней строки. Программное выделение диапазона.
Адрес выделенного диапазона
Для определения адреса выделенного диапазона ячеек в VBA Excel используется свойство Address объекта Selection.
Объект Selection — это совокупность всех выделенных ячеек на листе Excel. Это может быть одна ячейка, смежный или несмежный диапазон ячеек, представляющий коллекцию смежных диапазонов. Если выделение состоит из несмежного диапазона, адреса смежных диапазонов, из которых он состоит, будут перечислены через запятую.
Смежный диапазон — прямоугольная область смежных (прилегающих друг к другу) ячеек.
Несмежный диапазон — совокупность (коллекция) смежных диапазонов (прямоугольных областей смежных ячеек).
Стоит отметить: несмотря на то, что в выделенном диапазоне может содержаться много ячеек, активной может быть только одна. Она представлена объектом ActiveCell. Для определения ее адреса в коде VBA Excel также используется свойство Address.
Sub Primer1() MsgBox «Адрес выделенного диапазона: « & Selection.Address & _ vbNewLine & «Адрес активной ячейки: « & ActiveCell.Address & _ vbNewLine & «Номер строки активной ячейки: « & ActiveCell.Row & _ vbNewLine & «Номер столбца активной ячейки: « & ActiveCell.Column End Sub |
Скопируйте и запустите код на выполнение. В результате получите что-то вроде этого, зависящее от того, какие диапазоны вы выберите:
Определение адресов выделенного диапазона и активной ячейки
Выделение ячеек и диапазонов
Выделить несмежный диапазон ячеек можно следующим образом:
Sub Primer2() Range(«B4:C7,E5:F7,D8»).Select End Sub |
Как видно из примера, в адресной строке объекта Range перечисляются адреса смежных диапазонов, составляющих общий несмежный диапазон, через запятую. Выделение осуществляется методом Select объекта Range.
Определение номеров первой и последней строки
Чтобы вычислить номера первой и последней строки выделенного диапазона, будем исходить из того, что первая ячейка смежного диапазона находится на первой строке, а последняя — на последней строке выделенного диапазона.
Sub Primer3() Dim i1 As Long, i2 As Long i1 = Selection.Cells(1).Row i2 = Selection.Cells(Selection.Cells.Count).Row MsgBox «Первая строка: « & i1 & _ vbNewLine & «Последняя строка: « & i2 End Sub |
Результат будет таким, зависит от выделенного диапазона:
Номера первой и последней строки выделенного смежного диапазона
Таким же образом можно вычислить номера первого и последнего столбцов выделенного диапазона, которые можно использовать для обработки информации по столбцам.
Обратите внимание, что для несмежных диапазонов этот пример не работает.
На практике я использовал определение номеров первой и последней строк по выделенному диапазону для формирования файла загрузки данных держателей дисконтных карт на сервис отправки СМС-сообщений. Оказалось, что базу данных клиентов заполнять в таблице Excel намного удобнее, чем на портале сервиса, а для загрузки в сервис достаточно сформировать несложный файл. Заполнил новые строки, выделил их по любому столбцу, нажал кнопку и файл готов.
Функция СТРОКА
Смотрите также данные. Хоть и Лист2, массив логические значения не); а аргумент
Описание
ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) в 2015 году.
Синтаксис
(СРЗНАЧ). Формула вычисляет
и чем большеB
-
(ИНДЕКС), должно соответствоватьПОИСКПОЗВПР3,55 ₽ возвратить ссылку.
-
В этих примерах функция угол и МаркеромВ этой статье описаны работает это шустро,=МИН(СТРОКА(Лист2!1:999)*ЕСЛИ(ЕПУСТО(Лист2!1:999);9E+99;1))
-
найдет.value_if_errorВ формуле, показанной выше,Хорошо, давайте запишем формулу. среднее в диапазоне формул массива содержит, то нужно задать значениям аргументовдолжен быть равен
-
.16
-
Примеры
Номер_области ИНДЕКС используется для заполнения протягиваем вниз. синтаксис формулы и но к применениюviktturКазанский(значение_если_ошибка) – это искомое значение – Когда мне нужноD2:D10 Ваша таблица, тем значение
row_num |
0 |
Функция |
Арахис |
— необязательный аргумент. Диапазон |
поиска значения ячейки, |
Получаем результат как в |
использование функции |
неудобно… |
support.office.com
Нумерация строк в MS EXCEL
: До двух знаков: только для строк.
Используем формулы
значение, которое нужно это создать сложную формулу, затем находит ближайшее медленнее работает Excel.2(номер_строки) и.INDEX1,25 ₽
в аргументе «ссылка», находящейся на пересечении предыдущем случае. ЕслиСТРОКАМихаил С. ужмем? :) числа, даты и возвратить, если формула1 в Excel с к нему иС другой стороны, формула
для аргументаcolumn_num-1(ИНДЕКС) в Excel20 из которого требуется
заданных строки и в ячейкев Microsoft Excel.
Используем клавишу CTRL
: А где нужно=ПОИСКПОЗ(;-(A:A=»»);) логические значения не выдаст ошибку., а массив поиска вложенными функциями, то возвращает значение из с функциямиcol_index_num(номер_столбца) функции– находит наименьшее возвращает значение изГрецкие орехи возвратить значение ячейки столбца.А3Возвращает номер строки, определяемой размещать все эти
ikki найдет.{/post}{/quote}М-да, действительно. ТакойНапример, Вы можете вставить – это результат я сначала каждую столбцаПОИСКПОЗ(номер_столбца) функцииMATCH значение, большее или массива по заданным1,75 ₽ на пересечении строкиСкопируйте образец данных извведено значение 3, ссылкой.
Используем начало последовательности
«Public Function хотьчтонибудь(target: вотЬ вот костыль, массив: формулу из предыдущего умножения. Хорошо, что вложенную записываю отдельно.
- CиВПР(ПОИСКПОЗ). Иначе результат равное искомому значению. номерам строки и
- 12 и столбца, заданных следующей таблицы и
- т.е. задан шагСТРОКА([ссылка]) As Range) As
UDF=ПОИСКПОЗ(«?»;ЛЕВСИМВ(A:A;1);) примера в функцию же мы должныИтак, начнём с двухтой же строки:ИНДЕКС, вот так: формулы будет ошибочным.
Использование инструмента Прогрессия
Просматриваемый массив должен столбца. Функция имеетФормула аргументами «номер_строки» и
- вставьте их в последовательности равный 2,Аргументы функции СТРОКА описаны
- Long»? на этомвообще-то проверял, но,ikkiЕСЛИОШИБКА
- перемножить и почему? функций=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))просто совершает поиск
=VLOOKUP(«lookup value»,A1:C10,2)
Стоп, стоп… почему мы быть упорядочен по вот такой синтаксис:Описание «номер_столбца». Первая введенная ячейку A1 нового то мы получим ниже. же листе? они если чё -: другое дело :)вот таким образом:
excel2.ru
ИНДЕКС (функция ИНДЕКС)
Давайте разберем всеПОИСКПОЗ=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)) и возвращает результат,
=ВПР(«lookup value»;A1:C10;2) не можем просто
-
убыванию, то естьINDEX(array,row_num,[column_num])Результат или выделенная область листа Excel. Чтобы
-
последовательность нечетных чисел.Ссылка не зациклятся при прошу сильно не
Форма массива
Описание
работает также =ПОИСКПОЗ(0;ЕСЛИ(ЕПУСТО(A:A);1;0);0)=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)), по порядку:, которые будут возвращать
Результат: Moscow выполняя аналогичную работуЕсли позднее Вы вставите использовать функцию
Синтаксис
от большего к
ИНДЕКС(массив;номер_строки;[номер_столбца])=ИНДЕКС(A2:C6;2;3)
-
имеет номер 1, вторая — отобразить результаты формул,Воспользуемся стандартным средством EXCEL Необязательный. Ячейка или диапазон
-
этом? бить. (тоже массив)»Совпадений не найдено.Берем первое значение в номера строки и
-
Используя функцию заметно быстрее. новый столбец междуVLOOKUP меньшему.Каждый аргумент имеет оченьПересечение второй строки и 2 и т. д. выделите их и для создания прогрессий,
-
-
ячеек, для которыхexcelgeorgePublic Function хотьчтонибудь(targetинтересно… что быстрее?.. Попробуйте еще раз!») столбце столбца для функцииСРЗНАЧ
-
Теперь, когда Вы понимаете столбцами(ВПР)? Есть лиНа первый взгляд, польза простое объяснение: третьего столбца в Если аргумент «номер_области» нажмите клавишу F2,
Замечания
-
в то числе требуется вернуть номер: здравствуйте, подскажите, пожалуйста, As Range) Asно… автору темы=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));A
-
ИНДЕКСв комбинации с причины, из-за которыхA смысл тратить время, от функцииarray диапазоне A2:C6, т. е. опущен, в функции а затем — клавишу и арифметических. строки. а как поменять Long надо было не»Совпадений не найдено.(Customer) на листе:
ИНДЕКС стоит изучать функциии пытаясь разобраться в
-
ПОИСКПОЗ(массив) – это содержимое ячейки C3. ИНДЕКС используется область 1. ВВОД. При необходимостивводим в ячейкуЕсли ссылка опущена, то
Примеры
Пример 1
номер ячейки вSet r = это :( Попробуйте еще раз!»)Main tableПОИСКПОЗ для столбца
иПОИСКПОЗB лабиринтахвызывает сомнение. Кому диапазон ячеек, из38 Все указанные здесь измените ширину столбцов,А2 предполагается, что это формуле, если при target.Worksheet.UsedRange
Казанский |
И теперь, если кто-нибудь |
|
и сравниваем его |
– мы ищем |
|
ПОИСКПОЗ |
и |
|
, то значение аргумента |
ПОИСКПОЗ |
нужно знать положение |
которого необходимо извлечь |
=ИНДЕКС((A1:C6;A8:C11);2;2;2) области должны находиться чтобы видеть всезначение 1; |
ссылка на ячейку, |
ее протягивании автоматически |
хотьчтонибудь = 0: Эту формулу можно введет ошибочное значение, со всеми именами |
в столбце |
Пример 2
, в качестве третьегоИНДЕКС придется изменить си элемента в диапазоне? значение.Пересечение второй строки и
на одном листе. данные.выделяем диапазон в которой находится берется след. номерFor Each c упростить: формула выдаст вот покупателей в таблицеB аргумента функции, давайте перейдём к
2 |
ИНДЕКС |
Мы хотим знать |
row_num второго столбца во Если указать области, |
ДанныеA2:А6 сама функция СТРОКА. стоки, а нужно, In r.Rows=ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) такой результат: на листе, а точнее в |
ПОИСКПОЗ |
самому интересному ина? значение этого элемента! |
(номер_строки) – это |
|
второй области (A8:C11), находящиеся на разныхДанные, в котором будутЕсли значение аргумента «ссылка» чтобы брался следующий,If Not c.Find(What:=»*»,Но есть нюанс:Если Вы предпочитаете вLookup table диапазонечаще всего нужно увидим, как можно3=VLOOKUP(«Japan»,$B$2:$D$2,3)
Позвольте напомнить, что относительное
Ссылочная форма
Описание
номер строки в т. е. содержимое ячейки листах, произойдет ошибкаЯблоки содержаться номера строк; является диапазоном ячеек, то есть отнимался LookIn:=xlFormulas, _ она считает непустой
Синтаксис
случае ошибки оставить
(A2:A13).B2:B11
-
будет указывать применить теоретические знания, иначе формула возвратит=ВПР(«Japan»;$B$2:$D$2;3)
-
положение искомого значения массиве, из которой B9. #ЗНАЧ! Если необходимо
-
Лимонывызываем инструмент Прогрессия (Главная/ а функция СТРОКА диапозон строк.LookAt:=xlPart, MatchCase:=False) Is ячейку, в которой ячейку пустой, тоЕсли совпадение найдено, уравнение, значение, которое указано1
-
-
на практике. результат из толькоВ данном случае – (т.е. номер строки нужно извлечь значение.1,25
-
использовать диапазоны, находящиесяБананы Редактирование/ Заполнить/ Прогрессия…), введена как вертикальныйЗначения подтягиваются из Nothing Then
-
содержится пустая строка, можете использовать кавычки возвращает в ячейкеилиЛюбой учебник по что вставленного столбца. смысла нет! Цель и/или столбца) – Если не указан,=СУММ(ИНДЕКС(A1:C11;0;3;1)) на разных листах,Груши в появившемся окне массив, функция СТРОКА другого excel файла,хотьчтонибудь = c.Row например формула =»» («»), как значение1H2-1ВПРИспользуя этого примера – это как раз то обязательно требуетсяСумма третьего столбца в рекомендуется применить функциюФормула нажимаем ОК. возвращает номера строк, но можно и
Exit Function или результат копирования-вставки второго аргумента функции(ИСТИНА), а если(USA). Функция будетв случае, еслитвердит, что этаПОИСКПОЗ исключительно демонстрационная, чтобы
Замечания
-
то, что мы аргумент первой области диапазона ИНДЕКС в формеОписаниеСОВЕТ: указанных в аргументе с другого листа,End If как значения такойЕСЛИОШИБКА нет – выглядеть так: Вы не уверены, функция не может/
-
Вы могли понять, должны указать дляcolumn_num (A1:C11) является суммой массива и использоватьРезультатО специальных случаях
-
«ссылка», в виде не суть. ЭтиNext c ячейки.. Вот так:0=MATCH($H$2,$B$1:$B$11,0) что просматриваемый диапазон смотреть влево. Т.е.ИНДЕКС как функции аргументов
-
(номер_столбца). диапазона C1:C11. другую функцию для=ИНДЕКС(A2:B3;2;2) нумерации строк можно вертикального массива. значения идут наEnd FunctionПредыдущие формулы такуюIFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)(ЛОЖЬ).=ПОИСКПОЗ($H$2;$B$1:$B$11;0) содержит значение, равное если просматриваемый столбец, Вы можете удалятьПОИСКПОЗrow_numcolumn_num216 вычисления диапазона, составляющего
Значение ячейки на пересечении почитать в статьяхВ аргументе «ссылка» нельзя каждой строке, а
Примеры
применение: =хотьчтонибудь(Лист1!A:IV) ячейку считают пустой.ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)Далее, мы делаем тоРезультатом этой формулы будет среднему. Если же не является крайним или добавлять столбцыи(номер_строки) и/или(номер_столбца) – это=СУММ(B2:ИНДЕКС(A2:C6;5;2)) массив. Например, определить
второй строки и |
Автоматическая перенумерация строк |
указывать несколько областей. |
не через 10 |
можно и для |
ikki |
Надеюсь, что хотя бы |
же самое для |
4 |
Вы уверены, что |
левым в диапазоне |
к исследуемому диапазону, |
ИНДЕКС |
column_num |
номер столбца в |
Сумма значений из диапазона, |
используемый диапазон можно |
второго столбца в |
при применении фильтра, |
Скопируйте образец данных из |
строк каждое, как |
текущего листа: =хотьчтонибудь(A:IV) |
: угум. я тоже |
одна формула, описанная |
значений столбца |
, поскольку «USA» – |
такое значение есть, |
поиска, то нет |
не искажая результат, |
работают в паре. |
(номер_столбца) функции |
массиве, из которого |
начинающегося с ячейки |
с помощью функции |
диапазоне A2:B3. Автоматическая нумерация при следующей таблицы и мне было бы |
Казанский |
думал, что можно |
в этом учебнике,B это 4-ый элемент – ставьте шансов получить от |
так как определен |
Последующие примеры покажут |
INDEX нужно извлечь значение. B2 и заканчивающегося ВЫБОР. |
Груши |
добавлении строк, Сохранение |
вставьте их в удобнее и не: Если Find, то упростить. показалась Вам полезной.(Product). списка в столбце0 |
ВПР |
непосредственно столбец, содержащий
support.office.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Вам истинную мощь(ИНДЕКС). Как Вы Если не указан, пересечением пятой строкиНапример, если аргумент «ссылка»=ИНДЕКС(A2:B3;2;1) нумерации при удалении ячейку A1 нового возникло бы вопросов. зачем цикл :)но упрощенная - Если Вы сталкивалисьЗатем перемножаем полученные результатыBдля поиска точногожелаемый результат. нужное значение. Действительно, связки
помните, функция то обязательно требуется и второго столбца определяет ячейки (A1:B4,D1:E4,G1:H4),Значение ячейки на пересечении строк, Нумерация строк листа Excel. ЧтобыЕсли честно, тоSet r = она работает НЕПРАВИЛЬНО. с другими задачами (1 и 0).(включая заголовок). совпадения.Функции это большое преимущество,ИНДЕКС
ИНДЕКС аргумент диапазона A2:A6, т. е. номер области 1 второй строки и и столбцов римскими отобразить результаты формул, оч трудно сформулировать, target.Worksheet.cells.Find(…например, если в поиска, для которых Только если совпаденияПОИСКПОЗ для строкиЕсли указываетеПОИСКПОЗ особенно когда работатьиможет возвратить значение,row_num сумма значений из соответствует диапазону A1:B4, первого столбца в цифрами и Нумерация
- выделите их и проще показать.
- if not r первой ячейке пусто,
- не смогли найти найдены в обоих
- – мы ищем1
- и приходится с большими
- ПОИСКПОЗ находящееся на пересечении
- (номер_строки) диапазона B2:B6.
- номер области 2
- диапазоне A2:B3. столбцов буквами.
Базовая информация об ИНДЕКС и ПОИСКПОЗ
нажмите клавишу F2,Пример ниже, заранее is nothing then во второй - подходящее решение среди столбцах (т.е. оба значение ячейки, значения в столбцеИНДЕКС объёмами данных. Вы, которая легко справляется
заданных строки иЕсли указаны оба аргумента,2,42 — диапазону D1:E4,БананыФункция ИНДЕКС возвращает значение а затем — клавишу спасибо хотьчтонибудь = r.row дата, а третья информации в этом критерия истинны), Вы
ИНДЕКС – синтаксис и применение функции
H3 поиска должны бытьв Excel гораздо можете добавлять и с многими сложными столбца, но она то функцияК началу страницы
а номер области
В этом примере функция
или ссылку на ВВОД. При необходимости
- PooHkrdТолько вот метод снова пустая, то уроке, смело опишите получите
- (2015) в строке упорядочены по возрастанию, более гибкие, и удалять столбцы, не ситуациями, когда не может определить,ИНДЕКСЭтот учебник рассказывает о 3 — диапазону ИНДЕКС используется в
- значение из таблицы измените ширину столбцов,: Если я все Find не работает такая формула дает свою проблему в11 а формула вернёт им все-равно, где
беспокоясь о том,ВПР какие именно строкавозвращает значение из главных преимуществах функций G1:H4. формуле массива для
или диапазона. чтобы видеть все правильно понял и
в UDF в
#Н/Д.
комментариях, и мы. Если оба критерия, то есть в максимальное значение, меньшее находится столбец со что нужно будетоказывается в тупике. и столбец нас ячейки, находящейся наИНДЕКСПосле того как с поиска значений двух
Функцию ИНДЕКС можно использовать данные. вам требуется чтобы моем любимом 2000а вот если все вместе постараемся ложны, или выполняется ячейках или равное среднему.
ПОИСКПОЗ – синтаксис и применение функции
значением, которое нужно исправлять каждую используемуюРешая, какую формулу использовать интересуют. пересечении указанных строкии помощью аргументов «ссылка» заданных ячеек в
двумя способами:Формула при протягивании формула :( третья — тоже решить её. только один изA1:E1Если указываете извлечь. Для примера,
функцию
для вертикального поиска,
Теперь, когда Вам известна и столбца.ПОИСКПОЗ и «номер_области» выбран
массиве с диапазоном
Если вы хотите возвращать
- Описание не изменялась вikki дата, то результатУрок подготовлен для Вас них – Вы:-1
- снова вернёмся кВПР большинство гуру Excel базовая информация об
- Вот простейший пример функциив Excel, которые диапазон, с помощью 2 x 2. значение указанной ячейкиРезультат некотором количестве строк,
- : мда… усложнил малость. равен 3. командой сайта office-guru.ru получите=MATCH($H$3,$A$1:$E$1,0), значения в столбце таблице со столицами. считают, что этих двух функциях,
- INDEX делают их более аргументов «номер_строки» иВ этом случае нужно или массива ячеек,=СТРОКА() после чего ужевсе равно этонеупрощенная — работаетИсточник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/0=ПОИСКПОЗ($H$3;$A$1:$E$1;0) поиска должны быть государств и населением.
- 3. Нет ограничения наИНДЕКС полагаю, что уже(ИНДЕКС): привлекательными по сравнению «номер_столбца» выбирается конкретная выбрать любые две см. раздел ФормаСтрока формулы
ссылалась бы на должно работать быстрее, правильно во всехПеревел: Антон Андронов.Результатом этой формулы будет упорядочены по убыванию, На этот раз
размер искомого значения./ становится понятно, как=INDEX(A1:C10,2,3) с ячейка: номер строки ячейки по вертикали, массива.2 другой диапазон, то чем формулы массива, случаях.Автор: Антон АндроновТеперь понимаете, почему мы5 а возвращено будет запишем формулуИспользуяПОИСКПОЗ функции=ИНДЕКС(A1:C10;2;3)ВПР 1 соответствует первой например A1:A2, вставить
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
Если требуется возвращать ссылку=СТРОКА(C10) вам нужно сначала тем более смотримвообще-то странно.Excel-ok задали, поскольку «2015» находится минимальное значение, большееПОИСКПОЗВПРнамного лучше, чемПОИСКПОЗФормула выполняет поиск в. Вы увидите несколько строке диапазона, номер в первую ячейку на указанные ячейки,Строка ссылки прописать вручную необходимый
не весь лист,пс. у меня: =МИН(ЕСЛИ(ДЛСТР(СТРОКА(Лист1!1:65536))>0;СТРОКА(Лист1!1:65536)))1 в 5-ом столбце. или равное среднему.
/, помните об ограниченииВПР
и диапазоне примеров формул, которые
столбца 1 — формулу =ИНДЕКС({1;2:3;4};0;2) и см. раздел Ссылочная10 по размерам блок
а UsedRange. Excel 2003… можть,/как формула массива/, как искомое значение?
Теперь вставляем эти формулы
В нашем примере значения
ИНДЕКС на длину искомого. Однако, многие пользователи
- ИНДЕКСA1:C10 помогут Вам легко его первому столбцу нажать клавиши CTRL+SHIFT+ВВОД. форма.Используем различные подходы для формул, потом протягиватьно, кшн, можно глючный какой?по задумке должна Правильно, чтобы функция в функцию
- в столбце, которая покажет, какое значения в 255 Excel по-прежнему прибегаютмогут работать вместе.и возвращает значение справиться со многими и т. д. Если ввести формулуВозвращает значение элемента таблицы нумерации строк.
вниз не одну
и без цикла.
Михаил С. возвращать номер первойПОИСКПОЗИНДЕКСD место по населению символов, иначе рискуете к использованиюПОИСКПОЗ ячейки во сложными задачами, перед Ссылка, возвращаемая функцией как формулу массива, или массив, заданного
Пусть в ячейке ячейку с формулой,
но тогда обязательно: =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию по счету строкивозвращала позицию только,и вуаля:упорядочены по возрастанию, занимает столица России получить ошибкуВПРопределяет относительную позицию2-й которыми функция ИНДЕКС, указывает на
Excel автоматически вставит номером строки иA2 а весь блок надо задать в 1) в которой хоть когда оба критерия=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0)) поэтому мы используем (Москва).#VALUE!
, т.к. эта функция
искомого значения в
строке иВПР пересечение строки «номер_строки» ее во вторую номером столбца.введено значение 1 целиком. Find SearchOrder:=xlByRowsКазанский что-нибудь есть выполняются.=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0)) тип сопоставленияКак видно на рисунке(#ЗНАЧ!). Итак, если гораздо проще. Так заданном диапазоне ячеек,3-мбессильна. и столбца «номер_столбца». ячейку.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Если первый аргумент функции (номер первой строки).Ну, в общемikki: Нет. Если бы(формула находится наОбратите внимание:Если заменить функции1 ниже, формула отлично таблица содержит длинные происходит, потому что астолбце, то естьВ нескольких недавних статьяхЕсли указать в качествеФормула ИНДЕКС является константной В следующую строку ответил, как минимум,: ну виртуозы!!! было так =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A)) листе Лист2, книгаВ этом случаеПОИСКПОЗ. Формула справляется с этой строки, единственное действующее очень немногие люди
ИНДЕКС из ячейки мы приложили все аргумента «номер_строки» илиОписание массива, используйте форму таблицы, в ячейку не хуже чеми, самое главноеэто было бы с этими листами необходимо использовать третийна значения, которыеИНДЕКС
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
задачей: решение – это до конца понимаютиспользует это числоC2 усилия, чтобы разъяснить «номер_столбца» значение 0Результат массива.А3 поставлена задача. — обработает скрытые как по умолчанию создана и сохранена) не обязательный аргумент они возвращают, формула/=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0)) использовать все преимущества перехода (или числа) и. начинающим пользователям основы (ноль), функция ИНДЕКС
=ИНДЕКС({1;2ИНДЕКС(массив; номер_строки; [номер_столбца]), вводим формулу =А2+1З.Ы. В примере строки/столбцы и будет =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1)почему она не функции станет легкой иПОИСКПО=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))ИНДЕКС с возвращает результат изОчень просто, правда? Однако, функции возвратит ссылку на:Аргументы функции ИНДЕКС описаны и копируем ее не понятно вообще
работать в любомА =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) эквивалентно работает?ИНДЕКС понятной:ЗТеперь у Вас не/ВПР соответствующей ячейки. на практике ВыВПР целый столбец или3;4};0;2)
ниже.
в ячейки ниже.
ничего. Эксе, хоть в =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0)Михаил С.. Он необходим, т.к.=INDEX($A$1:$E$11,4,5))возвращает «Moscow», поскольку должно возникать проблемПОИСКПОЗна связкуЕщё не совсем понятно? далеко не всегдаи показать примеры целую строку соответственно.
Значение ячейки на пересеченииМассивТак как в формулеexcelgeorge 97-м.ikki: Потому, что, если в первом аргументе=ИНДЕКС($A$1:$E$11;4;5)) величина населения города с пониманием, как.ИНДЕКС Представьте функции знаете, какие строка более сложных формулАргументы «номер_строки», «номер_столбца» и первой строки и — обязательный аргумент. Диапазон мы сослались на:The_Prist, снимаю шляпу.: =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию
ее чуть преобразовать, мы задаем всюЭта формула возвращает значение Москва – ближайшее работает эта формула:Предположим, Вы используете вотиИНДЕКС и столбец Вам для продвинутых пользователей. «номер_области» должны указывать второго столбца в ячеек или константа ячейку выше сviktturКазанский 1){/post}{/quote} то получим таблицу и должны
на пересечении меньшее к среднемуВо-первых, задействуем функцию такую формулу сПОИСКПОЗи нужны, и поэтому Теперь мы попытаемся, на ячейку внутри массиве. Массив содержит массива. помощью относительной ссылки,
: =ИНДЕКС($B$1:$B$100;(СТРОКА(A1)-1)/14+1)
: Не спеши со
разобрался.=МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536))); указать функции, из4-ой значению (12 269MATCHВПР, а тратить времяПОИСКПОЗ требуется помощь функции если не отговорить аргумента «ссылка»; в
значения 1 и
Если массив содержит только
то EXCEL приИграйтесь знаменателем. шляпой ;)мне, кшн, стыдно,в любом случае какого столбца нужностроки и 006).(ПОИСКПОЗ), которая находит, которая ищет в на изучение болеев таком виде:ПОИСКПОЗ Вас от использования противном случае функция 2 в первой одну строку или копировании вниз модифицируетexcelgeorgeСравни с дополненным но страна должна ДЛСТР(1:65536)>0=истина; извлечь значение. В5-гоЭта формула эквивалентна двумерному положение «Russia» в
ячейках от сложной формулы никто=INDEX(столбец из которого извлекаем,(MATCH.ВПР ИНДЕКС возвращает значение строке и значения один столбец, соответствующий вышеуказанную формулу в: спасибо, попробую вариантом: знать своих героев.если проверять по нашем случае этостолбца в диапазоне поиску списке:B5 не хочет. (искомое значение,столбец в
Функция, то хотя бы ошибки #ССЫЛКА!. Если 3 и 4 аргумент «номер_строки» или =А3+1, затем вPerfectVamPublic Function хотьчтонибудь(targetExcel реабилитирован.
ИНДЕКС и ПОИСКПОЗ – примеры формул
столбцу А:А, то столбецA1:E11ВПР=MATCH(«Russia»,$B$2:$B$10,0))доДалее я попробую изложить котором ищем,0))MATCH показать альтернативные способы аргументы «номер_строки» и
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
во второй строке. «номер_столбца» не является =А4+1 и т.д.,: А вот так As Range) Asоказалось, что это=МИН(ЕСЛИ(ДЛСТР(A1:A65536);СТРОКА(Лист1!1:65536)))C, то есть значениеи позволяет найти=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))D10
главные преимущества использования=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое(ПОИСКПОЗ) в Excel реализации вертикального поиска «номер_столбца» опущены, функция2 обязательным. тем самым формируя можно привязаться к Long я глючный :)не проверял(Sum), и поэтому ячейки значение на пересеченииДалее, задаём диапазон длязначение, указанное вПОИСКПОЗ значение;столбец в котором ищет указанное значение в Excel. ИНДЕКС возвращает область
Значение ячейки на пересеченииЕсли массив содержит больше числовую последовательность 2, D1 и отслеживать
Dim avArr, lr
формулы =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) и
Serge мы ввелиE4 определённой строки и
- функции ячейкеи ищем;0)) в диапазоне ячеек
Зачем нам это? –
в аргументе "ссылка",
- второй строки и одной строки и 3, 4, … по совпадающему с As Long, lc =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) — это: Потому что минимальная3. Просто? Да!
- столбца.INDEX
A2
ИНДЕКС
Думаю, ещё проще будет и возвращает относительную спросите Вы. Да, заданную аргументом «номер_области». второго столбца в одного столбца, аДругим вариантом является использование ним началу строки: As Long, r одно и то длинна строки массива
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
.В учебнике поВ этом примере формула(ИНДЕКС), из которого:в Excel, а понять на примере. позицию этого значения потому чтоРезультатом вычисления функции ИНДЕКС массиве, указанном выше. из аргументов «номер_строки»
формулы =СТРОКА()-СТРОКА($A$1). В=ЕСЛИ(ЛЕВСИМВ($D2;ДЛСТР($D$1))=$D$1;ИНДЕКС(знач!B:B;СУММПРОИЗВ(—(ЛЕВСИМВ($D$1:$D2;ДЛСТР($D$1))=$D$1)));»») As Range же. СТРОКА(Лист1!1:65536)= 1И, наконец, т.к. намВПРИНДЕКС нужно извлечь значение.
=VLOOKUP(A2,B5:D10,3,FALSE)
Вы решите –
Предположим, у Вас
в диапазоне.ВПР является ссылка, которая4 и «номер_столбца» задан ячейкеI1POKE3Set r =но, если умудриться
Excel-ok
нужно проверить каждую
мы показывали пример
/ В нашем случае=ВПР(A2;B5:D10;3;ЛОЖЬ) остаться с есть вот такойНапример, если в диапазоне– это не интерпретируется в качествеПримечание: только один, функцияА1
: Скажите пожулуйста, как
target.Parent.UsedRange
не заметить последний
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
: Формула ячейку в массиве, формулы с функциейПОИСКПОЗ этоФормула не будет работать,ВПР список столиц государств:B1:B3 единственная функция поиска таковой другими функциями. Это формула массива, которую ИНДЕКС возвращает массив,должен находиться заголовок узнать номер выделеннойIf r.Count = «;» в первой=МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536))) эта формула должнаВПРбудет очень похожаA2:A10 если значение вили переключиться наДавайте найдём население одной
- содержатся значения New-York, в Excel, и В зависимости от нужно вводить с состоящий из целой столбца. сторки. 1 Then
- формуле, т.е. набратьвероятно, должна считать быть формулой массива.для поиска по на формулы, которые. ячейкеИНДЕКС
из столиц, например, Paris, London, тогда её многочисленные ограничения формулы значение, возвращаемое помощью клавиш CTRL+SHIFT+ВВОД. строки или целогоДля чрезстрочной нумерации используйтеСпасибо большое.If r <> =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A)), то она, то что нужно, Вы можете видеть нескольким критериям. Однако, мы уже обсуждалиЗатем соединяем обе частиA2/ Японии, используя следующую
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
следующая формула возвратит могут помешать Вам функцией ИНДЕКС, может Excel автоматически заключит столбца аргумента «массив». формулу (см. файлMahru
«» Then хотьчтонибудь есс-но будет понята но после ввода это по фигурным существенным ограничением такого в этом уроке, и получаем формулу:длиннее 255 символов.ПОИСКПОЗ формулу:
цифру получить желаемый результат использоваться как ссылка формулу в фигурныеНомер_строки
примера) =ЕСЛИ(ЕЧЁТН(СТРОКА());"";A7+1)
: На всякие случай
= r.Row как =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1) и ее в ячеку
скобкам, в которые решения была необходимость с одним лишь=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0)) Вместо неё Вам.=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))3 во многих ситуациях. или как значение. скобки {}. Если — обязательный аргумент.Пусть, как и в =СТРОКА()
Exit Function будет работать "неправильно". было получено сообщение она заключена. Поэтому, добавлять вспомогательный столбец.
отличием. Угадайте каким?=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0)) нужно использовать аналогичную1. Поиск справа налево.=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))
, поскольку «London» – С другой стороны, Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2)) вы попытаетесь ввести Выбирает строку в предыдущем примере, вI1POKE3Else
вот такие нюансы. суть которого в когда закончите вводить Хорошая новость: формулаКак Вы помните, синтаксисПодсказка: формулуКак известно любому
Теперь давайте разберем, что это третий элемент функции эквивалентна формуле ЯЧЕЙКА(«ширина»;B1). их вручную, Excel массиве, из которой ячейку
: Нет. Я ниavArr = r.ValueExcel-ok том, что ресурсы формулу, не забудьтеИНДЕКС функцииПравильным решением будет
- ИНДЕКС грамотному пользователю Excel, делает каждый элемент в списке.ИНДЕКС Функция ЯЧЕЙКА использует отобразит формулу как требуется возвратить значение.A2 сколечко не здеваюсь!!!For lr =: Вероятно, что то,
Эксель закончились... И
нажать
/INDEX всегда использовать абсолютные/ВПР этой формулы:=MATCH(«London»,B1:B3,0)
- и значение, возвращаемое функцией текст. Если при Если аргумент «номер_строки»введено значение 1.В прошлой теме 1 To UBound(avArr, что хочется формулами это при том,Ctrl+Shift+Enter
ПОИСКПОЗ
(ИНДЕКС) позволяет использовать
ссылки дляПОИСКПОЗне может смотретьФункция
=ПОИСКПОЗ(«London»;B1:B3;0)ПОИСКПОЗ ИНДЕКС, как ссылку. вводе формулы не
опущен, аргумент "номер_столбца"
Выделим ячейку
написаны 3 способа 1) сделать не удастся.. что это единственная.может искать по
три аргумента:
ИНДЕКС
: влево, а этоMATCHФункция– более гибкие С другой стороны, нажать клавиши CTRL+SHIFT+ВВОД, является обязательным.A2 как выделить строкуFor lc =
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
:( формула в книге…Если всё сделано верно, значениям в двухINDEX(array,row_num,[column_num])и=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0)) значит, что искомое(ПОИСКПОЗ) ищет значениеMATCH и имеют ряд такая формула, как она возвратит ошибкуНомер_столбца. Удерживая клавишу через активную ячейку, 1 To UBound(avArr,ikki
Вопрос остался: с Вы получите результат столбцах, без необходимостиИНДЕКС(массив;номер_строки;[номер_столбца])ПОИСКПОЗ=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0)) значение должно обязательно «Japan» в столбце(ПОИСКПОЗ) имеет вот особенностей, которые делают 2*ИНДЕКС(A1:B2;1;2), преобразует значение, #ЗНАЧ! — необязательный аргумент.CTRL то бишь не 2): ну вот ) пом. формулы определить
как на рисунке создания вспомогательного столбца!И я поздравляю тех, чтобы диапазоны поиска4. Более высокая скорость
находиться в крайнем
B
такой синтаксис:
их более привлекательными,
возвращаемое функцией ИНДЕКС,К началу страницы Выбирает столбец в, скопируем Маркером заполнения зная ее номера.If Len(avArr(lr, lc)) пока писал, а номер самой первой ниже:Предположим, у нас есть из Вас, кто не сбились при работы.
левом столбце исследуемого
, а конкретно –
MATCH(lookup_value,lookup_array,[match_type]) по сравнению с в число вВозвращает ссылку на ячейку, массиве, из которого (при этом надЯ применил их Then тут уже и по счету строкиКак Вы, вероятно, уже
- список заказов, и догадался! копировании формулы вЕсли Вы работаете диапазона. В случае в ячейкахПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])ВПР ячейке B1. расположенную на пересечении требуется возвратить значение.
- курсором появится маленький все, и понял,хотьчтонибудь = lr: ответ готов. в которой находится заметили (и не мы хотим найти
- Начнём с того, что другие ячейки. с небольшими таблицами, сB2:B10
- lookup_value.Примечание: указанной строки и Если аргумент «номер_столбца» плюсик), значение из что мне это Exit Forно я таки хотя бы что-то раз), если вводить сумму по двум запишем шаблон формулы.Вы можете вкладывать другие то разница в
ПОИСКПОЗ, и возвращает число(искомое_значение) – этоБазовая информация об ИНДЕКС Функция ЯЧЕЙКА недоступна указанного столбца. Если опущен, аргумент «номер_строки»A2 не помогает.
End If сам допёр. :) (любое значение). Но некорректное значение, например, критериям – Для этого возьмём функции Excel в быстродействии Excel будет,/3 число или текст, и ПОИСКПОЗ в Excel Web ссылка составлена из является обязательным.в ячейки ниже.Как оказалось мнеNext lcikki чтобы формуле, конечно,
которого нет вимя покупателя уже знакомую намИНДЕКС скорее всего, неИНДЕКС, поскольку «Japan» в который Вы ищите.Используем функции ИНДЕКС и App. несмежных выделенных диапазонов,Если используются оба аргумента Получим последовательность чисел нужно узнать номер
If хотьчтонибудь >: встроенными функциями - хватало ресурсов.. просматриваемом массиве, формула
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
(Customer) и формулуи заметная, особенно в, столбец поиска может списке на третьем Аргумент может быть ПОИСКПОЗ в ExcelСкопируйте образец данных из можно указать, какой — и «номер_строки», 1, 2, 3, строки, в которой 0 Then Exit наверное, нет.:-)ИНДЕКСпродуктИНДЕКСПОИСКПОЗ последних версиях. Если быть, как в месте. значением, в томПреимущества ИНДЕКС и ПОИСКПОЗ
следующей таблицы и из них требуется и «номер_столбца», —
4 …
находиться выделенная ячейка.
Forно, если ВамМихаил С./(Product). Дело усложняется/, например, чтобы найти же Вы работаете левой, так иФункция числе логическим, или перед ВПР вставьте их в использовать. функция ИНДЕКС возвращаетВНИМАНИЕ!
Причем, не посмотревNext lr так принципиально наличие: 1. Если хотитеПОИСКПОЗ
тем, что один
ПОИСКПОЗ минимальное, максимальное или с большими таблицами,
в правой частиINDEX
ссылкой на ячейку.ИНДЕКС и ПОИСКПОЗ – ячейку A1 новогоИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])
значение ячейки наЕсли на листе его в экселеEnd If формулы, то можно искать по всемусообщает об ошибке покупатель может купить
и добавим в
ближайшее к среднему
которые содержат тысячи диапазона поиска. Пример:(ИНДЕКС) используетlookup_array примеры формул листа Excel. ЧтобыАргументы функции ИНДЕКС описаны пересечении указанных строки часть строк скрыта на экране, ахотьчтонибудь = хотьчтонибудь сделать UDF, а листу, то формула#N/A сразу несколько разных
неё ещё одну значение. Вот несколько
строк и сотни
Как находить значения,
3
office-guru.ru
Формула определяющая номер строки (например) для ячейки в которой хоть что-нть есть
(просматриваемый_массив) – диапазонКак находить значения, которые
отобразить результаты формул,
ниже. и столбца. с помощью фильтра, что бы я + r.Row -
в макросе - должна быть на(#Н/Д) или продуктов, и имена
функцию вариантов формул, применительно
формул поиска, Excel которые находятся слевадля аргумента ячеек, в котором
находятся слева
выделите их иСсылка
Если указать в качестве то этот подход
мог использовать его
1
поиск или перебор другом листе -#VALUE! покупателей в таблице
ПОИСКПОЗ к таблице из
будет работать значительно
покажет эту возможностьrow_num происходит поиск.Вычисления при помощи ИНДЕКС нажмите клавишу F2, — обязательный аргумент. Ссылка аргумента «номер_строки» или и остальные, приведенные в макросе.End Function в цикле For
иначе циклическая ссылка.(#ЗНАЧ!). Если Вы на листе, которая будет возвращать предыдущего примера: быстрее, при использовании в действии.(номер_строки), который указываетmatch_type
и ПОИСКПОЗ
а затем — клавишу на один или «номер_столбца» значение 0 ниже, работать неwebleyв случае если: Each.
2. Для поиска хотите заменить такоеLookup table номер столбца.1.ПОИСКПОЗ
2. Безопасное добавление или из какой строки(тип_сопоставления) – этот
Поиск по известным строке ВВОД. При необходимости
несколько диапазонов ячеек. (ноль), функция ИНДЕКС будут. Чтобы разрешить: Первый способ из- лист пустой;но всё равно, по всему листу сообщение на что-то
расположены в произвольном=INDEX(Ваша таблица,(MATCH(значение для вертикальногоMAXи
удаление столбцов. нужно возвратить значение. аргумент сообщает функции и столбцу измените ширину столбцов,
Если в качестве аргумента возвратит массив значений нумерацию строк с 3-х — это- занята одна как Вам уже
поставте комп по-мощнее;
более понятное, то порядке.
поиска,столбец, в котором(МАКС). Формула находит
ИНДЕКС
Формулы с функцией Т.е. получается простаяПОИСКПОЗ
Поиск по нескольким критериям чтобы видеть все «ссылка» используется несмежный
для целого столбца
использованием клавиши и есть номер ячейка; сказали, циклических ссылок 64 бит операционку можете вставить формулуВот такая формула искать,0)),(MATCH(значение для горизонтального
максимум в столбцевместо
ВПР формула:, хотите ли ВыИНДЕКС и ПОИСКПОЗ в
данные. диапазон, его необходимо
или целой строкиCTRL строки:- Usedrange не создавать не нужно. и 8 гигов с
ИНДЕКС поиска,строка в которойDВПР
перестают работать или=INDEX($D$2:$D$10,3) найти точное или
сочетании с ЕСЛИОШИБКА
Фрукты заключить в скобки соответственно. Чтобы использовать
, выделите любую ячейкуActiveCell.Row начинается с 1
то есть можно памяти…ИНДЕКС
/ искать,0))и возвращает значение
. В целом, такая возвращают ошибочные значения,
=ИНДЕКС($D$2:$D$10;3) приблизительное совпадение:Так как задача этого
Цена
Если каждая область в значения, возвращенные как с заголовком фильтра
Hugo
строки. искать по всему
Вывод — виПОИСКПОЗ=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального
из столбца замена увеличивает скорость если удалить илиФормула говорит примерно следующее:1 учебника – показатьКоличество ссылке содержит только
массив, введите функцию
и дважды нажмите: Что-то мне кажется,Чтобы ф-я пересчитывалась листу (если очень
этом случае макрос
ПОИСКПОЗрешает задачу: поиска,столбец, в которомC работы Excel на
добавить столбец в ищи в ячейках
или возможности функцийЯблоки
одну строку или ИНДЕКС как формулаCTRL+SHIFT+L что человеку не при изменении на надо), но с незаменим.в функцию
{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* искать,0)),(MATCH(значение для горизонтальноготой же строки:13%
таблицу поиска. Для отне указанИНДЕКС0,69 ₽
один столбец, аргумент массива в горизонтальный
(сбросьте фильтр). активную ячейку надо листе, надо добавить
другого листа.КазанскийЕСЛИОШИБКА
(B2=’Lookup table’!$B$2:$B$13),0),3)} поиска,строка в которой=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)).
функцииD2
– находит максимальноеи40
«номер_строки» или «номер_столбца»
диапазон ячеек дляЕсли начало последовательности уже знать, а найденную
Application.Volatile
vikttur: =ПОИСКПОЗ(«*»;A:A;)
.
{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)* искать,0))=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))Влияние
ВПРдо значение, меньшее или
ПОИСКПОЗБананы
соответственно является необязательным.
строки и в задано (т.е. задан
кодом. Т.е. сперваkim
: =ПОИСКПОЗ(;—ЕПУСТО(A1:A100);)vikttur
Синтаксис функции
(B2=’Lookup table’!$B$2:$B$13);0);3)}
Обратите внимание, что для
Результат: Beijing
ВПР
любой вставленный или
D10 равное искомому. Просматриваемый
для реализации вертикального0,34 ₽ Например, для ссылки
вертикальный — для столбца. первый элемент и
типа: А макрофункции чегоКазанский
: Вы заставляете ExcelЕСЛИОШИБКАЭта формула сложнее других, двумерного поиска нужно2.
на производительность Excel удалённый столбец изменит
и извлеки значение массив должен быть поиска в Excel,38 на единственную строку Чтобы ввести формулу
шаг последовательности), тоSet rgX =
никто не предложил?: Ну вот, пришел создавать массив из
очень прост: которые мы обсуждали
указать всю таблицуMIN особенно заметно, если результат формулы, поскольку из третьей строки, упорядочен по возрастанию,
мы не будем
Лимоны нужно использовать формулу массива, нажмите сочетание
пронумеровать строки можно Cells.Find(What:=curRec, LookIn:=xlValues, LookAt:=xlWhole,
:) Формулист :) (хорошо еще, если
IFERROR(value,value_if_error) ранее, но вооруженные в аргументе(МИН). Формула находит
рабочая книга содержит синтаксис
то есть из то есть от
задерживаться на их0,55 ₽ ИНДЕКС(ссылка,,номер_столбца).
клавиш CTRL+SHIFT+ВВОД.
следующим образом :
MatchCase:=False)
На листе единственнаяВ данном случае Excel-2003) 65536*256 значений,
ЕСЛИОШИБКА(значение;значение_если_ошибка) знанием функцийarray
минимум в столбце сотни сложных формул
ВПР ячейки
меньшего к большему.
синтаксисе и применении.
15Номер_строкиПримечание:
пусть в ячейке
и далее использовать
заполненная ячейка - один минус лишний: вот он и
Где аргумент
ИНДЕКС
(массив) функции
D массива, таких как
требует указывать весьD40
Приведём здесь необходимый минимумАпельсины — обязательный аргумент. Номер
В Excel Web
А2rgX.Row или rgX.Column G18, формула в =ПОИСКПОЗ(;-ЕПУСТО(A:A);)
возмущается. И правильноvalueиINDEXи возвращает значениеВПР+СУММ диапазон и конкретный, так как счёт– находит первое для понимания сути,0,25 ₽ строки в диапазоне, App невозможно создаватьвведено значение 1, или даже rgX.Address
ней возвращает свое> Вероятно, что делает :)(значение) – этоПОИСКПОЗ(ИНДЕКС). из столбца. Дело в том, номер столбца, из
planetaexcel.ru
Как автоматически менять номер строки в формуле с заданным интервалом?
начинается со второй значение, равное искомому. а затем разберём25 заданном аргументом «ссылка», формулы массива. а в ячейкеЧтоб вообще лишний же местоположение по то, что хочетсяЗадайте диапазон ячеек.
значение, проверяемое наВы одолеете ее.А теперь давайте испытаемC что проверка каждого которого нужно извлечь строки. Для комбинации подробно примеры формул,Груши из которого требуетсяАргументы «номер_строки» и «номер_столбца»
А3 раз без Select/Activate… строкам. По идее,
формулами сделать не И такой, чтобы
предмет наличия ошибки Самая сложная часть этот шаблон натой же строки: значения в массиве данные.Вот такой результат получитсяИНДЕКС которые показывают преимущества0,59 ₽ возвратить ссылку. должны указывать назначение 2;I1POKE3 если заполнять данные удастся.. :( формула в него (в нашем случае
– это функция практике. Ниже Вы=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)) требует отдельного вызоваНапример, если у Вас в Excel:/
использования40
Номер_столбца ячейку внутри заданного
выделяем ячейки
: Всем спасибо. выше ее -
Ну почему же не попадала (зацикливание). – результат формулыПОИСКПОЗ видите список самых=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
функции
planetaexcel.ru
Как узнать номер строки?
есть таблицаВажно! Количество строк иПОИСКПОЗИНДЕКС
Миндаль
— необязательный аргумент. Номер массива; в противномA2A3
Вариантов предостаточно. она должна возвращать :)
ikkiИНДЕКС, думаю, её нужно населённых стран мира.Результат: LimaВПР
A1:C10 столбцов в массиве,всегда нужно точноеи
2,80 ₽ столбца в диапазоне, случае функция ИНДЕКС;Пойду пробовать, уверен, номер первой строки,Вот функция для: только для строк./ объяснить первой.
Предположим, наша задача3.. Поэтому, чем больше, и требуется извлечь который использует функция
совпадение, поэтому третий
ПОИСКПОЗ10 заданном аргументом «ссылка», возвратит значение ошибкиберемся за правый нижний что все получится. в которой есть
первых 999 строк числа, даты иПОИСКПОЗ
MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
узнать население СШАAVERAGE
значений содержит массив данные из столбца
INDEX аргумент функции
вместо
Кешью из которого требуется
planetaexcel.ru
#ССЫЛКА!.
Используя Microsoft Excel, вы можете легко получить местоположение выбранной в данный момент ячейки в поле имени, которое отображается слева от панели формул. Но если ячейка названа, вы не можете проверить ее местоположение на основе отображения в поле имени. И если вы хотите напрямую показать полный адрес активной ячейки или отобразить адрес активной ячейки в указанной ячейке, что бы вы сделали? В этом руководстве мы покажем вам, как легко получить адрес активной ячейки с помощью формул и методов VBA.
Получить адрес активной ячейки с формулой
Получить адрес активной ячейки с кодом VBA
Отображение адреса активной ячейки в указанной ячейке с кодом VBA
Динамически отображать адрес активной ячейки с помощью удивительного инструмента
Получить адрес активной ячейки с формулой
В этом разделе мы предоставим вам формулу легкого получения адреса активной ячейки.
1. Выберите ячейку, чтобы сделать ее активной.
2. Введите в нее приведенную ниже формулу и нажмите Enter .
=ADDRESS(ROW(),COLUMN())
Затем вы можете увидеть, что адрес текущей выбранной ячейки сразу отображается в ячейке.
Внимание: Если вы выберете другую ячейку, адрес не изменится автоматически. Чтобы получить динамический адрес при выборе разных ячеек, примените следующие методы.
Получить адрес активной ячейки с кодом VBA
Вы также можете получить адрес активной ячейки с кодом VBA. Пожалуйста, сделайте следующее.
1. нажмите другой + F11 одновременно открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений дважды щелкните имя текущего рабочего листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.
Код VBA: получить адрес активной ячейки
Sub selectRange()
MsgBox ActiveCell.Address
End Sub
3. Затем нажмите Run кнопку для запуска кода.
4. Затем появится диалоговое окно с адресом активной ячейки, указанным внутри.
Отображение адреса активной ячейки в указанной ячейке с кодом VBA
В другой ситуации вы хотите, чтобы адрес активной ячейки отображался в указанной ячейке. Каждый раз, когда вы переходите из одной ячейки в другую, адрес ячейки будет автоматически изменяться и отображаться в указанной ячейке. Пожалуйста, сделайте следующее.
1. Откройте Microsoft Visual Basic для приложений окно, нажав другой + F11 одновременно.
2. Дважды щелкните имя листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте в него приведенный ниже код.
Код VBA: отображать адрес активной ячейки в указанной ячейке
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = ActiveCell.Address
End Sub
Внимание: A1 — это ячейка, в которую вы хотите поместить адрес активной ячейки, вы можете изменить его на указанную ячейку для своих нужд.
3. Затем нажмите Файл > Закройте и вернитесь в Microsoft Excel Для выхода из Microsoft Visual Basic для приложений окно.
Вы можете видеть, что адрес активной ячейки отображается в ячейке A1, и адрес будет изменяться автоматически в зависимости от изменения активной ячейки. Смотрите скриншот:
Динамически отображать адрес активной ячейки с помощью удивительного инструмента
Если вы хотите динамически отображать адрес активной ячейки на листе, я настоятельно рекомендую Расширенная панель редактирования инструмент Kutools for Excel. Давайте посмотрим, как этот инструмент может динамически отображать адрес активной ячейки на листе.
1. Нажмите Кутулс > Показать спрятать > Расширенная панель редактирования для включения функции.
С этого момента каждый раз, когда вы щелкаете ячейку, появляется окно расширенной панели редактирования. И адрес активной ячейки будет отображаться в нижней части окна.
Tips: Вы можете просматривать и редактировать содержимое ячейки прямо в окне.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Номер строки и столбца в Excel может пригодиться в разных ситуациях. Функции могут использоваться для создания нумерации строк списка или таблицы, их можно использовать и в формулах, и в условном форматировании. Так же разберем как быстро посчитать количество столбцов без формул.
Содержание
- Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?
- Номер строки и столбца для списка или таблицы
- Как посчитать количество столбцов в выделенном диапазоне столбцов?
- Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?
- Похожие статьи
Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?
Интересная особенность этих формул, что они могут работать как с реквизитами, так и без них. Т.е. формула =СТРОКА() будет возвращать номер именно этой строки, а =СТРОКА(A3) будет возвращать номер строки ячейки A3, соответственно 3.
Подробнее на примере
Номер строки и столбца для списка или таблицы
Довольно часто функция СТРОКА используется для нумерации данных в списке, достаточно только сопоставить номер строки и номер позиции списка, в данном случае делаем -1
Очень удобно, если вы часто изменяете порядок строки, удаляете или добавляете их. Поскольку формула остается, то порядок всегда будет правильным.
Тоже самое можно провернуть для нумерации столбцов.
Как посчитать количество столбцов в выделенном диапазоне столбцов?
Если вы выделяете не диапазон ячеек, а диапазон, к примеру столбцов, необязательно пользоваться какой-то формулой, чтобы посчитать сколько столбцов в диапазоне. При выделение диапазона, количество столбцов (еще раз обращу внимание, если вы выделяете именно диапазон столбцов) автоматически считается и показывается. Буква С означает, что это считаются колонки -Colomn
Это очень удобно, когда вы создаете формулу с функцией ВПР.
Соответственно, если вы выделяете диапазон строк, то будет отображаться число строк.
Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?
Условным форматировании можно раскрасить заливку ячеек и даже целых таблиц. Удобно для чтения, когда каждая строка таблица выделяется чередующимся цветом — т.н. зеброй. Как раз функция СТРОКА() нам и поможет.
Задайте в окне формул условного форматирования:
=НЕЧЁТ(СТРОКА())=СТРОКА()
Выберете цвет
И получилось удобное оформление
Я довольно часто пользуюсь этим, т.к. не очень люблю форматирование в виде Таблицы.
Пример файла Номер строки и столбца
Активная ячейка в Excel VBA
Активная ячейка — это текущая выбранная ячейка на листе, активная ячейка в VBA может использоваться как ссылка для перехода к другой ячейке или изменения свойств той же активной ячейки или ссылки на ячейки, предоставленной из активной ячейки, активная ячейка в VBA может можно получить с помощью метода application.property с ключевым словом active cell.
Для эффективной работы с кодированием VBA важно понимать концепцию объекта диапазона и свойств ячеек в VBA. В этих концепциях есть еще одна концепция, которую вам нужно изучить, это «активная ячейка VBA».
В Excel есть миллионы ячеек, и вы наверняка сомневаетесь, какая из них является активной. Для примера посмотрите на изображение ниже.
На самом изображении выше у нас есть много ячеек, чтобы определить, какая из них является активной ячейкой, очень просто, какая бы ячейка не была выбрана прямо сейчас, она называется «Активная ячейка» в VBA.
Если ваша активная ячейка не видна в вашем окне, посмотрите на поле имени, оно покажет вам адрес активной ячейки, на приведенном выше изображении адрес активной ячейки — B3.
Даже когда в качестве диапазона ячеек выбрано множество ячеек, любая первая ячейка в выделении становится активной ячейкой. Например, посмотрите на изображение ниже.
# 1 — Ссылки в Excel VBA
В наших предыдущих статьях мы видели, как ссылаться на ячейки в VBA. По свойству Active Cell мы можем ссылаться на ячейку.
Например, если мы хотим выбрать ячейку A1 и вставить значение «Hello», мы можем записать его двумя способами. Ниже приведен способ выбора ячейки и вставки значения с помощью объекта VBA «RANGE».
Код:
Sub ActiveCell_Example1 () Диапазон ("A1"). Выберите диапазон ("A1"). Value = "Hello" End Sub
Сначала будет выбрана ячейка A1 « Диапазон (« A1 »). Выбрать»
Затем он вставит значение «Hello» в диапазон ячейки A1 («A1»). Value = «Hello»
Теперь я удалю строку Range («A1»). Value = «Hello» и использую свойство Active Cell для вставки значения.
Код:
Sub ActiveCell_Example1 () Диапазон ("A1"). Выберите ActiveCell.Value = "Hello" End Sub
Точно так же сначала он выберет ячейку A1 « Диапазон (« A1 »). Выбрать»
Но здесь я использовал ActiveCell.Value = «Hello» вместо Range («A1»). Value = «Hello»
Причина, по которой я использовал свойство Active Cell, потому что в тот момент, когда я выбираю ячейку A1, она становится активной ячейкой. Таким образом, мы можем использовать свойство Excel VBA Active Cell для вставки значения.
# 2 — Активный адрес ячейки, значение, строка и номер столбца
Чтобы понять это еще лучше, давайте покажем адрес активной ячейки в окне сообщения. Теперь посмотрите на изображение ниже.
На изображении выше активной ячейкой является «B3», а значение — 55. Давайте напишем код на VBA, чтобы получить адрес активной ячейки.
Код:
Sub ActiveCell_Example2 () MsgBox ActiveCell.Address End Sub
Запустите этот код с помощью клавиши F5 или вручную, тогда он покажет адрес активной ячейки в окне сообщения.
Выход:
Точно так же код ниже покажет значение активной ячейки.
Код:
Sub ActiveCell_Example2 () MsgBox ActiveCell.Value End Sub
Выход:
Код ниже покажет номер строки активной ячейки.
Код:
Sub ActiveCell_Example2 () MsgBox ActiveCell.Row End Sub
Выход:
Код ниже покажет номер столбца активной ячейки.
Код:
Подложка ActiveCell_Example2 () MsgBox ActiveCell.Column End Sub
Выход:
# 3 — Параметры активной ячейки в Excel VBA
Свойство Active Cell также имеет параметры. После ввода свойства ActiveCell откройте скобку, чтобы увидеть параметры.
Используя этот параметр, мы также можем ссылаться на другую ячейку.
Например, ActiveCell (1,1) означает, какая ячейка активна. Если вы хотите переместиться на одну строку ниже, вы можете использовать ActiveCell (2,1), здесь 2 не означает, что нужно переместиться на две строки вниз, а не только на одну строку вниз. Аналогично, если вы хотите переместить один столбец вправо, тогда это код ActiveCell (2,2)
Для примера посмотрите на изображение ниже.
На изображении выше активной ячейкой является A2, чтобы вставить значение в активную ячейку, вы пишете этот код.
Код:
ActiveCell.Value = «Hiiii» или ActiveCell (1,1) .Value = «Hiiii»
Запустите этот код вручную или с помощью клавиши F5, это вставит значение «Hiiii» в ячейку.
Теперь, если вы хотите вставить то же значение в ячейку ниже, вы можете использовать этот код.
Код:
ActiveCell (2,1) .Value = «Hiiii»
Это вставит значение в ячейку под активной ячейкой.
Если вы хотите вставить значение в один столбец справа, вы можете использовать этот код.
Код:
ActiveCell (1,2) .Value = «Hiiii»
Это вставит «Hiiii» в следующую ячейку столбца активной ячейки.
Таким образом, мы можем ссылаться на ячейки в VBA, используя свойство Active Cell.
Надеюсь, вам понравилось. Спасибо, что уделили нам время.
Вы можете скачать шаблон VBA Active Cell Excel здесь: — VBA Active Cell Template