Pour combiner les résultats de recherche de taille variable dans Excel pour Mac, utilisez REDUCE avec VSTACK pour créer un seul tableau rectangulaire. Cette procédure pas à pas crée une liste d'actifs graphiques, préserve l'ordre des requêtes et affiche les groupes non correspondants au lieu de les omettre silencieusement.

La tâche est simple : chaque groupe d'actifs demandé peut correspondre à plusieurs lignes sources, une seule ligne ou aucune. Vous souhaitez que tous ces résultats se trouvent dans une plage de feuille de calcul extensible unique, avec les étiquettes d'actifs et les quantités conservées ensemble.

Quelles versions d'Excel pour Mac prennent en charge cette approche ?

Utilisez Excel pour Microsoft 365 pour Mac pour la formule principale ci-dessous. Microsoft mentionne explicitement cette édition dans sa documentation de la fonction REDUCE. Sa page actuelle ne répertorie pas Excel 2024 pour Mac, donc la simple présence d'autres fonctions de tableau modernes n'établit pas que la formule complète est disponible.

Fonction Éditions Mac listées dans la documentation Microsoft pertinente Rôle ici
BYROW, MAP Microsoft 365 pour Mac ; Excel 2024 pour Mac Expliquer l'approche d'origine et sa limite
REDUCE Microsoft 365 pour Mac Transmettre le résultat croissant entre les requêtes
VSTACK, HSTACK Microsoft 365 pour Mac ; Excel 2024 pour Mac Assembler les blocs de résultats et construire une ligne de secours
FILTER Microsoft 365 pour Mac ; Excel 2024 pour Mac ; Excel 2021 pour Mac Retourner chaque ligne d'actif correspondante

Ces informations d'édition proviennent des pages de référence Microsoft pour BYROW, MAP, VSTACK, HSTACK et FILTER.

Pour inspecter votre installation, ouvrez le menu Excel et choisissez À propos d'Excel. Les instructions de Microsoft pour Mac expliquent que la boîte de dialogue À propos d'une application Office affiche sa version et son type de licence. Vérifiez les deux lorsque vous décidez quelle formule utiliser. Voir À propos d'Office : Quelle version d'Office est-ce que j'utilise ?.

Une préversion Beta Mac plus récente modifie la limite des tableaux imbriqués

L'annonce de Microsoft du 24 septembre 2026 introduit les tableaux imbriqués et FLATTEN comme fonctionnalités d'aperçu pour le canal Beta. Elle spécifie la version Mac 16.114 Build 26092111 ou ultérieure, avec une disponibilité soumise au déploiement. La plupart des calculs de tableaux imbriqués nécessitent la version de compatibilité du classeur 3, sélectionnée via Formule > Options de calcul. Ces conditions sont importantes : disposer de Microsoft 365 seul n'établit pas que l'aperçu est activé. Voir Placer plusieurs valeurs dans une seule cellule avec des listes et des tableaux dans Excel.

La solution détaillée ci-dessous construit un résultat rectangulaire ordinaire sans dépendre de cet aperçu. Cela évite également de faire dépendre la tâche de liste d'actifs de base du classeur des paramètres de tableaux imbriqués.

Pourquoi le retour de tableaux depuis BYROW ou MAP pose-t-il problème ?

Microsoft documente BYROW comme produisant un résultat par ligne d'entrée. Sa référence indique explicitement que le retour de quelque chose d'autre qu'une seule valeur depuis la LAMBDA interne produit une erreur #CALC!. Une recherche qui retourne plusieurs enregistrements dépasse cette limite documentée. Voir Fonction BYROW.

Par exemple, après avoir saisi les exemples de données dans la section suivante, voici un exemple de diagnostic de l'approche problématique selon le comportement documenté de valeur unique :

=BYROW(E2:E4,LAMBDA(key,FILTER(A2:C7,A2:A7=key,"No match")))

La première requête retourne trois lignes et trois colonnes. Demander à BYROW de placer ce bloc dans une seule position de résultat crée un problème de tableau imbriqué. Le changement de la fonction externe en MAP ne fournit pas d'opération d'empilement générale selon le comportement de calcul conventionnel : le résultat interne contient toujours plusieurs cellules. La documentation MAP de Microsoft décrit la mise en correspondance de valeurs d'entrée avec de nouvelles valeurs, tandis que ses conseils sur #CALC! documentent la limitation des tableaux imbriqués.

Envelopper le calcul échoué dans VSTACK ne peut pas réparer le résultat interne. Le changement utile consiste à ajouter chaque bloc de recherche pendant le traitement des requêtes, de sorte que chaque résultat intermédiaire soit déjà un tableau rectangulaire unique.

Construire une recherche d'actifs complète avec REDUCE et VSTACK

1. Saisir les données sources synthétiques

Commencez avec une feuille de calcul vierge. Collez ce bloc séparé par des tabulations dans A1. Les quantités sont des comptages illustratifs d'actifs graphiques.

Groupe	Actif	Quantité
Mosaïque	Tuile Ambre	2
Orbite	Anneau Argent	3
Mosaïque	Tuile Bleue	4
Prisme	Panneau Transparent	5
Mosaïque	Tuile Corail	1
Prisme	Panneau Givré	2

Collez la liste de requêtes suivante dans E1. Conservez l'ordre indiqué afin de pouvoir comparer le résultat attendu.

Groupe demandé
Mosaïque
Orbite
Galets

Cet exemple inclut délibérément trois issues : Mosaïque a trois enregistrements correspondants, Orbite en a un, et Galets n'en a aucun. Les enregistrements Prisme doivent rester en dehors du résultat car ce groupe n'a pas été demandé.

2. Vérifier une recherche indépendamment

Entrez cette formule dans une zone inutilisée, par exemple L1 :

=FILTER($A$2:$C$7,$A$2:$A$7=$E$2,"No match")

Elle doit retourner les trois enregistrements Mosaïque. FILTER utilise la comparaison de groupe pour sélectionner les lignes complètes de la source. Son tableau d'inclusion doit avoir une hauteur ou une largeur compatible ; ici, la source et la condition couvrent toutes deux les lignes 2:7. Voir Fonction FILTER.

Cette petite vérification isole la recherche de la logique d'empilement. Si ces lignes sont incorrectes, corrigez les étiquettes ou les références sources avant d'ajouter le calcul externe.

3. Entrer la formule d'empilement complète

Laissez de la place dans les colonnes G:I, puis entrez cette formule dans G1 :

=REDUCE(
  $A$1:$C$1,
  $E$2:$E$4,
  LAMBDA(acc,key,
    VSTACK(
      acc,
      FILTER(
        $A$2:$C$7,
        $A$2:$A$7=key,
        HSTACK(key,"No match","")
      )
    )
  )
)

Appuyez sur Entrée. Entrez la formule une seule fois dans la cellule en haut à gauche de la sortie ; Excel dimensionne automatiquement la plage de déversement. Gardez-la en dehors d'un tableau Excel, car les formules de tableau déversées ne sont pas prises en charge à l'intérieur des tableaux. Microsoft explique les deux comportements dans Formules de tableau dynamiques et comportement de déversement.

4. Comparer le résultat attendu

Pour les données fournies, la sortie occupe G1:I6 :

Groupe Actif Quantité
Mosaïque Tuile Ambre 2
Mosaïque Tuile Bleue 4
Mosaïque Tuile Corail 1
Orbite Anneau Argent 3
Galets Aucune correspondance

Les dimensions attendues découlent directement de l'exemple : une ligne d'en-tête, trois lignes Mosaïque, une ligne Orbite et une ligne pour la requête sans correspondance. Les quatre enregistrements correspondants contiennent des quantités totalisant 10. La quantité vide à côté de Galets distingue un résultat de recherche manquant d'une quantité d'actif nulle.

Comment la formule assemble le résultat

REDUCE commence avec A1:C1 comme accumulateur. Pour chaque valeur dans E2:E4, key contient le groupe actuellement demandé et acc contient le résultat assemblé jusqu'à présent. Microsoft documente ce motif de valeur initiale, d'accumulateur et de valeur actuelle dans Fonction REDUCE.

Dans cette formule, FILTER crée le prochain bloc correspondant et VSTACK l'ajoute sous acc. L'utilisation de l'en-tête réel comme valeur initiale donne immédiatement trois colonnes au résultat et évite d'introduire une ligne de départ vide jetable. VSTACK ajoute des tableaux verticalement en séquence, comme décrit dans Fonction VSTACK.

Lorsqu'il n'y a pas de correspondance, le troisième argument de FILTER fournit HSTACK(key,"No match",""). Cela crée une ligne de secours à trois colonnes : groupe demandé, étiquette explicative et quantité vide. Microsoft documente l'argument de résultat vide dans Fonction FILTER et la jointure horizontale dans Fonction HSTACK.

Garder cette ligne de secours large de trois colonnes est important. Microsoft documente que VSTACK remplit les colonnes manquantes avec #N/A lorsque ses tableaux d'entrée ont des largeurs différentes. Une ligne de secours à une seule cellule laisserait donc un remplissage indésirable à côté. Voir Fonction VSTACK.

Choisir le comportement de sortie avant d'étendre la feuille de calcul

La formule implémente une politique spécifique : traiter chaque requête dans l'ordre, conserver toutes les lignes sources correspondantes et afficher une ligne de marqueur pour un groupe non correspondant. La répétition d'un groupe dans la liste des requêtes répète par conséquent son bloc correspondant. La répétition d'un enregistrement source conserve également cet enregistrement ; cette formule ne contient aucune étape de suppression des doublons.

Utilisez cet aide à la décision lors de l'adaptation de l'exemple :

Résultat souhaité Approche appropriée Condition
Un comptage pour chaque groupe MAP avec COUNTIF Chaque requête produit une seule valeur
Tous les enregistrements d'actifs dans l'ordre des requêtes La formule complète REDUCE ci-dessus Requiert les fonctions Microsoft 365 pour Mac documentées
Quelques blocs de recherche explicitement listés VSTACK direct d'appels FILTER séparés Ajouter un argument de formule pour chaque requête
Tableaux imbriqués conservés dans les cellules Aperçu des tableaux imbriqués de Microsoft Requiert la disponibilité Beta documentée et les paramètres du classeur

Pour une vérification compacte des comptages, entrez cette formule complète dans K6, en laissant trois cellules en dessous disponibles :

=MAP($E$2:$E$4,LAMBDA(key,COUNTIF($A$2:$A$7,key)))

Les comptages attendus sont 3, 1 et 0. C'est une utilisation appropriée de MAP car chaque requête produit un nombre. COUNTIF compte les cellules répondant à un critère ; l'exemple utilise des étiquettes synthétiques simples. Voir Fonction MAP et Utiliser la fonction NB.SI dans Microsoft Excel.

Alternative à requêtes fixes pour Excel 2024 pour Mac

Si votre édition fournit FILTER, HSTACK et VSTACK mais ne fournit pas REDUCE, utilisez cette alternative complète dans G1, en remplacement de la formule précédente. Elle produit la même sortie attendue pour les trois requêtes fournies :

=VSTACK(
  $A$1:$C$1,
  FILTER($A$2:$C$7,$A$2:$A$7=$E$2,HSTACK($E$2,"No match","")),
  FILTER($A$2:$C$7,$A$2:$A$7=$E$3,HSTACK($E$3,"No match","")),
  FILTER($A$2:$C$7,$A$2:$A$7=$E$4,HSTACK($E$4,"No match",""))
)

Microsoft répertorie Excel 2024 pour Mac dans la documentation des trois fonctions requises : FILTER, HSTACK et VSTACK. Le compromis est la maintenance : un autre groupe demandé nécessite un autre argument FILTER.

Diagnostiquer les erreurs et garder le résultat complet

Pour une erreur #SPILL!, sélectionnez la cellule de formule et inspectez la zone de sortie prévue. Déplacez les entrées existantes hors de cette zone et vérifiez la présence de cellules fusionnées. Microsoft identifie également les formules placées à l'intérieur de tableaux comme une cause ; conservez la sortie dans la grille de feuille de calcul ordinaire. Voir Comment corriger une erreur #SPILL!.

Pour #CALC!, identifiez d'abord quel calcul l'a produit. Une formule BYROW retournant un bloc multi-cellules atteint sa limite documentée de valeur unique. Une formule FILTER autonome sans correspondance et sans secours peut plutôt produire une erreur de tableau vide. Ce sont des causes distinctes décrites dans les conseils #CALC! de Microsoft.

Lors de l'ajout d'enregistrements sources, étendez à la fois $A$2:$C$7 et $A$2:$A$7 jusqu'à la même ligne de fin. Lors de l'ajout de requêtes à la version REDUCE, étendez $E$2:$E$4 jusqu'à la dernière requête prévue. Évitez d'inclure des cellules de requête inutilisées : la formule traite chaque cellule de cette plage.

Pour une liste source qui s'agrandit régulièrement, envisagez de stocker la source dans un tableau Excel et de remplacer les références sources fixes par des références structurées. Microsoft documente que les références structurées s'ajustent lorsque des lignes de tableau sont ajoutées ou supprimées. Maintenez le résultat de déversement en dehors du tableau. Voir Formules de tableau dynamiques et comportement de déversement.

Avant d'utiliser la liste d'actifs assemblée, comparez ses blocs de groupes avec la liste des requêtes et vérifiez les marqueurs de non-correspondance. Dans cet exemple, la vérification de fin utile est concrète : trois enregistrements Mosaïque, un enregistrement Orbite, un marqueur Galets visible et aucun enregistrement Prisme. Cela confirme la sélection et l'ordre prévus pour les données fournies.

Sources