Je souhaite créer des unions dans n'importe quelle feuille de calcul Google.
Sheet1! A: A
{12, 131, 45}
Sheet2! A: A
{12, 131, 46}
La fonction inconnue
=formula_for_union_range(Sheet1!A:A; Sheet2!:A:A)
devrait revenir
{12, 131, 45, 12, 131, 46}
Comment est-ce possible?
Et pourtant, la question portait sur le script. J'utilise toujours avec succès le code suivant:
function unionRanges(e) {
var result = [];
var length = 0;
var i = 0;
try {
for (i = 0; i < arguments.length; i++)
length += arguments[i].length;
if (length > 3000) return '#BIGRANGE';
for (var i = 0; i < arguments.length; i++)
result = result.concat(arguments[i].filter(function (el) {
return el.join('').length > 0
}));
return result;
} catch (err) {
return JSON.stringify(err);
}
}
Mais, comme indiqué ci-dessus, il est plus facile d'utiliser la notation {}
-.
Concaténation verticale
={Range(Cols=N);Range(Cols=N)}
Concaténation horizontale
={Range(Row=M),Range(Rows=M)}
Il est possible de combiner
={{,,};{,,}}
Ou quelque chose de plus dur
={{;;},{;;}};{{;;},{;;}};{{;;},{;;}}
Si vos paramètres régionaux prennent en charge ,
en tant que délimiteur d'arguments, vous devez utiliser ;
pour une concaténation verticale et ,
pour une concaténation horizontale.
Sinon, votre délimiteur d'arguments est ;
et vous devez utiliser ;
et \
(sans espaces), respectivement.
'Data 1'!A1:C20
| Name | Date | Sum |
| Ethan | 3/4/2017 | 31 |
| Logan | 3/6/2017 | 62 |
| Brian | 3/26/2017 | 61 |
| ... | ... | ... |
'Data 2'!A1:C20
| Name | Date | Sum |
| Nathan | 3/30/2017 | 53 |
| Alyssa | 3/13/2017 | 72 |
| John | 3/24/2017 | 79 |
| Megan | 3/16/2017 | 10 |
| ... | ... | ... |
={'Data 1'!A1:C20;'Data 2'!A2:C20}
| Name | Date | Sum |
| Ethan | 3/4/2017 | 31 |
| Logan | 3/6/2017 | 62 |
| Brian | 3/26/2017 | 61 |
| ... | ... | ... |
| Nathan | 3/30/2017 | 53 |
| Alyssa | 3/13/2017 | 72 |
| John | 3/24/2017 | 79 |
| ... | ... | ... |
={TRANSPOSE('Data 1'!A1:C20),TRANSPOSE('Data 2'!A2:C20)}
| Name | Ethan | Logan | Brian | ... | Nathan | Alyssa | John |
| Date | 3/4/2017 | 3/6/2017 | 3/26/2017 | ... | 3/30/2017 | 3/13/2017 | 3/24/2017 |
| Sum | 31 | 62 | 61 | ... | 53 | 72 | 79 |
En savoir plus sur ce sujet Comment concaténer des plages dans des feuilles de calcul Google
Vous pouvez les fusionner en 1 colonne puis obtenir les valeurs uniques. Vérifiez la formule suivante:
=UNIQUE({Sheet1!A:A;Sheet2!A:A})
Il suffit d'utiliser:
={sheet1!a:a; sheet2!a:a}
Bien qu'un script puisse le faire facilement, je vous recommande d'utiliser des formules de feuille de calcul classiques, par exemple.
=transpose(split(join(";";Sheet1!A:A)&";"&join(";";Sheet2!A:A);";"))
Pour supprimer les doublons, enveloppez-le simplement dans une formule unique
:
=unique(transpose(...))
Et pour trier ... =sort(...)
Si vous souhaitez associer des feuilles et exclure des lignes contenant des cellules vides, utilisez la fonction FILTER de votre formule:
=FILTER({Sheet1!A:A;Sheet2!A:A}, {Sheet1!A:A;Sheet2!A:A}<>"")
Supposons que vous ayez:
A B C D E F
1: 1 2 3 4 5 6
Il est possible de concaténer des tranches sous forme de lignes ou de colonnes.
Pour des colonnes supplémentaires (même ligne), utilisez une virgule. ={$A1:$C1,$D1:$F1}
donne:
1 2 3 4 5 6
Pour des lignes supplémentaires (mêmes colonnes), utilisez un point-virgule. ={$A1:$C1;$D1:$F1}
donne:
1 2 3
4 5 6