Google 张:包含重复值的列表。从最早日期的副本中只获取一个值
Google sheets: List with duplicate values. Get only one value from the duplicates with earliest date
我得到了一个只有重复值和关联日期的列表。我想得到一个结果列,其中重复项中只有一个值,但具有关联的日期。这是我想要的最早日期。
请看下面的例子(欧洲日期):
我想我想多了,因为我已经尝试了大多数我知道的公式,但我无法弄明白。
尝试
=query(A:B,"select A,min(B) where A is not null group by A",1)
或
=query(A:B;"select A,min(B) where A is not null group by A";1)
最早日期
function earliestDateForEachValue() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet0');
const rg = sh.getRange(2,1,sh.getLastRow() - 1,sh.getLastColumn());
const vs = rg.getValues();
let obj = {pA:[]};
vs.forEach((r,i) => {
if(!obj.hasOwnProperty(r[0])) {
obj[r[0]] = [];
obj[r[0]].push(new Date(r[1]).valueOf());
obj.pA.push(r[0]);
} else {
obj[r[0]].push(new Date(r[1]).valueOf())
}
});
let o = [];
obj.pA.forEach(p => {
obj[p].sort((a,b) => {
return a - b;
});
o.push([p,Utilities.formatDate(new Date(obj[p][0]),Session.getScriptTimeZone(),"dd.MM.yyyy")])
});
Logger.log(JSON.stringify(o));
}
Execution log
11:44:47 AM Notice Execution started
11:44:47 AM Info [["Value1","01.01.2022"],["Value2","02.01.2022"],["Value3","03.01.2022"]]
11:44:48 AM Notice Execution completed
数据:
Values
Dates
Value1
01.01.2022
Value2
02.01.2022
Value3
03.01.2022
Value1
04.01.2022
Value2
05.01.2022
Value3
06.01.2022
Value1
07.01.2022
Value2
08.01.2022
Value3
09.01.2022
Value1
10.01.2022
Value2
11.01.2022
Value3
12.01.2022
Value1
13.01.2022
Value2
14.01.2022
Value3
15.01.2022
我得到了一个只有重复值和关联日期的列表。我想得到一个结果列,其中重复项中只有一个值,但具有关联的日期。这是我想要的最早日期。
请看下面的例子(欧洲日期):
我想我想多了,因为我已经尝试了大多数我知道的公式,但我无法弄明白。
尝试
=query(A:B,"select A,min(B) where A is not null group by A",1)
或
=query(A:B;"select A,min(B) where A is not null group by A";1)
最早日期
function earliestDateForEachValue() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet0');
const rg = sh.getRange(2,1,sh.getLastRow() - 1,sh.getLastColumn());
const vs = rg.getValues();
let obj = {pA:[]};
vs.forEach((r,i) => {
if(!obj.hasOwnProperty(r[0])) {
obj[r[0]] = [];
obj[r[0]].push(new Date(r[1]).valueOf());
obj.pA.push(r[0]);
} else {
obj[r[0]].push(new Date(r[1]).valueOf())
}
});
let o = [];
obj.pA.forEach(p => {
obj[p].sort((a,b) => {
return a - b;
});
o.push([p,Utilities.formatDate(new Date(obj[p][0]),Session.getScriptTimeZone(),"dd.MM.yyyy")])
});
Logger.log(JSON.stringify(o));
}
Execution log
11:44:47 AM Notice Execution started
11:44:47 AM Info [["Value1","01.01.2022"],["Value2","02.01.2022"],["Value3","03.01.2022"]]
11:44:48 AM Notice Execution completed
数据:
Values | Dates |
---|---|
Value1 | 01.01.2022 |
Value2 | 02.01.2022 |
Value3 | 03.01.2022 |
Value1 | 04.01.2022 |
Value2 | 05.01.2022 |
Value3 | 06.01.2022 |
Value1 | 07.01.2022 |
Value2 | 08.01.2022 |
Value3 | 09.01.2022 |
Value1 | 10.01.2022 |
Value2 | 11.01.2022 |
Value3 | 12.01.2022 |
Value1 | 13.01.2022 |
Value2 | 14.01.2022 |
Value3 | 15.01.2022 |