アフィリエイト広告を利用しています

2023年04月16日

VBAにおけるワークシート関数――INDEX、MATCH、VLOOKUPの使い方

ChatGPT

Excelで使用される関数には、ワークシート関数とVBA関数がある。ワークシート関数はExcelの「数式」で使用され、VBA関数はVBAの「関数」とは別物である。範囲を指定して、列と行が交差する位置にあるセルの値を取得するには、WorksheetFunction.Index関数を使用する。MATCH関数を使用して、指定した値に一致するセルの位置を検索することもできる。また、VLOOKUP関数を使用して、指定された範囲の1列目で指定された値を検索し、その範囲内の別の列の同じ行にある値を返すことができる。これらの関数は、ほとんどが検索に関する関数である。

Bing AIの説明

INDEX関数は、指定した範囲から特定の行と列にある値を返します。
MATCH関数は、指定した範囲から特定の値と一致する位置を返します。
VLOOKUP関数は、指定した範囲の最左列から特定の値と一致する行を見つけて、その行の別の列にある値を返します。
VBAでは、これらの関数を直接使うことはできませんが、WorksheetFunctionオブジェクトのメソッドとして使うことができます。
例えば、以下のようなコードで、A1からA10までの範囲にある「りんご」という値の位置をMATCH関数で探し、その位置に対応するB1からB10までの範囲の値をINDEX関数で取得することができます。
Dim position As Long
Dim value As Variant
position = WorksheetFunction.Match("りんご", Range("A1:A10"), 0)
value = WorksheetFunction.Index(Range("B1:B10"), position)
MsgBox value

VLOOKUP関数を使う場合は、以下のようなコードで同じ結果が得られます。
Dim value As Variant
value = WorksheetFunction.VLookup("りんご", Range("A1:B10"), 2, False)
MsgBox value

以上がVBAでINDEX、MATCH、VLOOKUPの使い方の概要です。

https://atmarkit.itmedia.co.jp/ait/articles/1506/19/news015.html






posted by 3chan at 23:07| (カテゴリなし)
プロフィール
<< 2024年12月 >>
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        
リンク集
カテゴリアーカイブ
月別アーカイブ
2024年12月(25)
2024年11月(59)
2024年10月(64)
2024年09月(62)
2024年08月(71)
2024年07月(61)
2024年06月(67)
2024年05月(71)
2024年04月(72)
2024年03月(61)
2024年02月(63)
2024年01月(73)
2023年12月(33)
2023年11月(43)
2023年10月(30)
2023年09月(33)
2023年08月(48)
2023年07月(52)
2023年06月(67)
2023年05月(72)
2023年04月(80)
2023年03月(108)
2023年02月(63)
2023年01月(17)
2022年12月(14)
2022年11月(24)
2022年10月(43)
2022年09月(33)
2022年08月(44)
2022年07月(15)
2022年06月(6)
2021年12月(1)
2021年11月(49)
2021年10月(60)
2021年09月(54)
2021年08月(54)
2021年07月(56)
2021年06月(50)
2021年05月(62)
2021年04月(44)
2021年03月(53)
2021年02月(48)
2021年01月(60)
2020年12月(51)
2020年11月(61)
2020年10月(54)
2020年09月(54)
2020年08月(60)
2020年07月(49)
2020年06月(48)
2020年05月(61)
2020年04月(48)
2020年03月(58)
2020年02月(31)
2020年01月(55)
2019年12月(54)
2019年11月(53)
2019年10月(54)
2019年09月(60)
2019年08月(54)
2019年07月(49)
2019年06月(63)
2019年05月(52)
2019年04月(55)
2019年03月(61)
2019年02月(49)
2019年01月(54)
2018年12月(50)
2018年11月(52)
2018年10月(55)
2018年09月(65)
2018年08月(48)
2018年07月(55)
2018年06月(56)
2018年05月(50)
2018年04月(57)
2018年03月(58)
2018年02月(51)
2018年01月(64)
2017年12月(53)
2017年11月(56)
2017年10月(61)
2017年09月(59)
2017年08月(65)
2017年07月(84)
2017年06月(57)
2017年05月(69)
2017年04月(76)
2017年03月(69)
2017年02月(72)
2017年01月(212)
2016年12月(236)
2016年11月(166)
2016年10月(239)
2016年09月(365)
2016年08月(222)
2016年07月(82)
2016年06月(56)
2016年05月(71)
2016年04月(69)
最新記事