这是我第一次使用谷歌电子表格,我正在尝试在函数中完成一些事情。我知道它是 javascript(我并不完全熟悉的一种语言)。我试图从两个表中获取一个范围,并获取每个表的交点位置,并为已经存在的行填充缺失值。
例如,假设以下两张纸:
Sheet1
+-----------+----------+--------+---------+
| Fruit | Color | Weight | isApple |
+-----------+----------+--------+---------+
| Banana | Yellow | 3 | no |
| Orange | Orange | 3 | no |
| Apple | Red | 2 | yes |
| Pineapple | Brownish | 5 | no |
+-----------+----------+--------+---------+
Sheet2
+-----------+----------+--------+---------+
| Fruit | Color | Weight | isApple |
+-----------+----------+--------+---------+
| Banana | | | |
| Apple | | | |
| Pear | | | |
| Watermelon| | | |
+-----------+----------+--------+---------+
我想找到 Fruit 行的交叉点,并填写我们知道的每一个的颜色、重量和 isApple。
我写了一些我认为应该努力获得 的交集的东西range1
,并且由于某种原因它返回一个空数组。当我在 Apps 脚本编辑器中测试它时,它似乎工作正常。
//assuming range1 = Sheet1!A2:A5 and range2=Sheet2!A2:A5
function intersection(range1, range2) {
var i = 0;
var j = 0;
var matches = new Array();
while(i < range1.length){
if(range2.toString().includes(range1[i].toString())){
matches.push(i);
}
i++
}
return matches;
}
我希望这会返回一个数组,[0,2]
因为第 0 个元素 Banana 和 Sheet1 中的第一个元素 Apple 存在于表 2 中。
然后,我将使用该数据从 Sheet2 中的信息中填充 Apple 和 Banana 的行。
我还没有进入第二部分,因为我似乎无法让工作表找到交叉点。
我的最终目标预期输出是将工作表 2 更改为:
Sheet2
+-----------+----------+--------+---------+
| Fruit | Color | Weight | isApple |
+-----------+----------+--------+---------+
| Banana | Yellow | 3 | no |
| Apple | Red | 2 | yes |
| Pear | | | |
| Watermelon| | | |
+-----------+----------+--------+---------+