Cet article va vous présenter la fonction INDEX ! INDEX fait également partie de la famille des recherches En raison de sa puissante fonction de positionnement par coordonnées, VLOOKUP doit parfois s'effacer !
Fonction Index : Dans une plage de cellules donnée, renvoie la valeur ou la référence de la cellule à l'intersection d'une ligne et d'une colonne spécifiques.
Structure des fonctions : index (zone de cellule, numéro de ligne, numéro de colonne)
zone, numéro de ligne, numéro de colonne, c'est comme viser des coordonnées. Tout comme l'animation ci-dessous, trouvez la colonne, trouvez la ligne, cliquez et frappez !
Nous voulons trouver "囡", et vous pouvez voir que ses coordonnées sont la ligne 4 et la colonne 3.
Donc la formule : =INDEX(B2:G11,4,3)
peut obtenir "囡". =INDEX(B2:G11,4,3)
就能得到“囡”。
如果给定的区域是单行或者单列,那坐标就不需要两个数字了,只需要一个即可。
譬如我们现在需要在F17中从A17:A21中获得“李惠”。
输入公式:=INDEX(A17:A21,2)
即可。
又譬如我们需要在G17中从A18:D18中取得李惠的基本工资。
输入公式:= INDEX(A18:D18,4)
即可。
这点就不列举了。前方找“囡”字就是这样的。
从上面的例子可以看出,INDEX通过坐标返回数值,像精确制导的导弹,指哪打哪(返回哪)。不过,纯粹的人工查坐标再输入坐标,太不符合“现代化”了。实际操作中,数据往往都是几十列,几十行甚至上万行的都有,这个时候我们再根据需要人工去查坐标输入坐标,就太不现实了。所以INDEX需要助手,需要组团才能打天下。
譬如我们需要从表中连续获取工号C23的姓名、年龄、入职时间。
在数据区域A17:E21中,工号C23位于第3行,姓名、年龄、入职时间的列数从左到右是分别是2、3、4。我们可以用COLUMN(B1)来取代2、3、4实现半自动效果。公式如下:
=INDEX($A17:$E21,3,COLUMN(B1))
然后右拉填充即可。
得到的入职时间是数字,修改格式为短日期即可。
譬如下面,我们用公式:=INDEX(A:E,ROW(A3),2)
下拉填充获得三个工号的姓名。
譬如我们可以用公式:=INDEX($A:$E,ROW(A3),COLUMN(B1))
右拉下拉填充获得工号C23、C08、C10的姓名、年龄、入职时间。
通过与COLUMN和ROW组团,实现了半自动效果。只要是连续、有规律的取值,都可以用INDEX+ROW+COLUMN实现。
譬如我们需要隔行隔列取值,获得工号C15、C23、C10的姓名、入职时间。公式是:
=INDEX($A:$E,ROW(A1)*2-1,COLUMN(A1)*2)
2. Utilisation de base de la fonction INDEX
=INDEX(A17:A21,2)
. 🎜🎜🎜🎜Aimez-nous encore Le salaire de base de Li Hui doit être obtenu à partir de A18 : D18 en G17. 🎜🎜Entrez la formule : = INDEX(A18:D18,4)
. 🎜🎜🎜=INDEX($A17:$E21,3,COLUMN(B1))
🎜🎜 Tirez ensuite vers la droite pour le remplir. 🎜🎜🎜🎜Embarquez l'heure est un nombre, changez simplement le format en une date courte. 🎜=INDEX(A$17:E$21,ROW (A3),2)
Déroulez vers le bas pour renseigner les noms des trois numéros de travail. 🎜🎜🎜=INDEX($A$17:$E$21,ROW(A3),COLUMN( B1))
right Déroulez vers le bas pour remplir la liste déroulante afin d'obtenir le nom, l'âge et la date d'arrivée des numéros d'emploi C23, C08 et C10. 🎜🎜🎜🎜Par COLONNE Groupée avec ROW pour obtenir un effet semi-automatique. Tant qu'il s'agit d'une valeur continue et régulière, elle peut être obtenue avec INDEX+ROW+COLUMN. 🎜🎜Par exemple, nous devons obtenir des valeurs dans des lignes et des colonnes alternées pour obtenir les noms et les dates d'arrivée des numéros de travail C15, C23 et C10. La formule est : 🎜🎜=INDEX($A$17:$E$21,ROW(A1)*2-1,COLUMN(A1)*2)
🎜🎜 Ensuite, déroulez vers la droite et remplissez dans. 🎜🎜🎜🎜Le semi-automatique est beaucoup plus facile que la vérification et la saisie entièrement manuelles des coordonnées, mais la raison pour laquelle on l'appelle semi-automatique est qu'il nécessite un travail manuel pour trouver les modèles dans les données. Si les modèles de données de valeurs sont complexes ou irréguliers, nous ne pouvons pas être semi-automatiques. A cette époque, vous devez former une équipe avec le grand assistant MATCH pour effectuer un travail entièrement automatique.
Les règles de recherche de données suivantes sont compliquées, nous n'avons pas à trouver les règles nous-mêmes, tout est fait, laissez-le correspondre.
Entrez la formule en C28 :
=INDEX($A$17:$E$21,MATCH($B28,$A$17:$A$21,0),MATCH(C$27,$A $16:$E$16,0))
=INDEX($A:$E,MATCH($B28,$A:$A,0),MATCH(C,$A:$E,0))
然后右下下拉填充公式即可。
用MATCH函数根据条件在固定区域中查询行、列位置完全取代了人工查找坐标或者数据规律,实现了全自动。
输入公式:
=VLOOKUP($B28,$A:$E,MATCH(C,$A:$E,0),0)
右拉下拉填充即可。
从公式长度来说,VLOOKUP+MATCH比INDEX+MATCH简洁。那我们为何还需要INDEX+MATCH呢?原因就在于INDEX函数只要收到行列坐标值就可以查到数据,根本不存在什么正向查找、反向查找的区别。VLOOKUP就不行了,默认情况下它只能实现正向查找,也就是在查找区域里只能是从左往右查找,而不能从右往左查找。VLOOKUP要想实现从右往左的反向查找,就需要借助IF函数或者CHOOSE函数构建新的查找区域。
譬如我们需要通过姓名查工号,如下:
采用INDEX+MATCH组合直接写公式:=INDEX(A:B,MATCH(G17,B:B,0),1)
,然后下拉即可
如果用VLOOKUP查找,因为是反向查找,就需要用IF函数重新构建查找区域,公式就变成:
=VLOOKUP(G17,IF({1,0},B:B,A:A),2,0)
所以,比较起来,正向查找的时候,用INDEX+MATCH和VLOOKUP+MATCH都可以,VLOOKUP+MATCH相对更简洁;反向查找的时候,则用INDEX+MATCH最简洁,尤其是反向查找区域有三列、四列数据的时候,INDEX+MATCH是最佳选择。
好了,回答了函数课堂2中的问题后,我们继续看INDEX的实用组团。
组团后的公式格式是=INDEX(查找区域,SMALL(IF(),ROW()),MATCH())
譬如下方的动图所展示的那样:
公式很长:
=INDEX($A:$D,SMALL(IF($C:$C=$F,ROW(:),99),ROW(A1)),MATCH(F,$A:$D,0))
套上防错的IFERROR函数,就更长了:
=IFERROR(INDEX($A:$D,SMALL(IF($C:$C=$F,ROW(:),99),ROW(A1)),MATCH(F,$A:$D,0)),"")
(2) La différence entre INDEX+MATCH et VLOOKUP+MATCH
🎜🎜Entrez la formule :=VLOOKUP($B28,$A$17:$E$21,MATCH(C$27 ,$ A$16:$E$16,0),0)
🎜🎜Tirez vers la droite et descendez pour remplir. 🎜🎜🎜🎜De la longueur de la formule De manière générale, RECHERCHEV+MATCH est plus simple que INDEX+MATCH. Alors pourquoi avons-nous encore besoin d’INDEX+MATCH ? La raison en est que la fonction INDEX peut trouver les données tant qu'elle reçoit les valeurs des coordonnées de ligne et de colonne. Il n'y a aucune différence entre la recherche avant et la recherche inverse. RECHERCHEV ne fonctionnera pas par défaut, il ne peut effectuer qu'une recherche avant, c'est-à-dire qu'il ne peut effectuer une recherche que de gauche à droite dans la zone de recherche, mais pas de droite à gauche. Si RECHERCHEV souhaite implémenter la recherche inversée de droite à gauche, il doit utiliser la fonction IF ou la fonction CHOOSE pour construire une nouvelle zone de recherche. 🎜🎜Par exemple, si nous devons vérifier le numéro de travail par nom, comme suit : 🎜🎜🎜🎜 Utilisez la combinaison INDEX+MATCH pour écrire directement la formule : =INDEX(A$17:B$21,MATCH(G17,B$17:B$21, 0),1)
, puis déroulez vers le bas=INDEX(zone de recherche, SMALL(IF(),ROW ( )),MATCH())
🎜🎜Comme le montre l'animation ci-dessous :🎜🎜🎜🎜La formule est très longue : 🎜🎜=INDEX($A$2:$D$21,SMALL(IF($C$2: $C$21=$F$2,ROW($1:$20),99),ROW(A1)),MATCH(F$3,$A$1:$D$1,0))
🎜🎜Mettez l'erreur preuve La fonction SIERREUR est encore plus longue : 🎜🎜=IFERROR(INDEX($A$2:$D$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20), 99 ),ROW(A1)),MATCH(F$3,$A$1:$D$1,0)),"")
🎜🎜Une telle formule combinée, nous l'appelons souvent la formule à l'huile de serpent, principalement utilisée pour une recherche un à plusieurs. 🎜🎜Ok, c'est tout ce que nous avons présenté sur l'utilisation pratique d'INDEX. La fonction INDEX a l'avantage d'utiliser des coordonnées pour obtenir des valeurs avec précision, mais il lui manque la fonction de recherche automatique des coordonnées en fonction des conditions. Elle est boiteuse, donc en combat réel, elle nécessite l'aide d'un assistant pour trouver les coordonnées. C'est un missile à guidage de précision en fonction, et c'est un Crip, un Crip puissant ! 🎜🎜Recommandations d'apprentissage associées : 🎜Tutoriel Excel🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!