我在电子表格中有大量项目,这些项目具有与之相关的不同任务。每个项目都是一行,不同的任务是列。对于每个项目和任务,都有一个必须执行任务的日期。 (如果条目为空,则不必对该项目执行任务。)
一个示例电子表格在这里: https://docs.google.com/spreadsheets/d/1jzla_gMw_soVqW7OR3dSsT7Sd9zDYu-oSpdm5HeOzEs/edit?usp=sharing
是否可以将表转换为单个列表,其中包含日期,项目和任务(列表条目按其日期排序)?行/列将随时间添加。
String n1 = o1.name.toLowerCase();
String n2 = o2.name.toLowerCase();
// Both startsWith / both endsWith
if ((n1.startsWith(query) && n2.startsWith(query))
|| (n1.endsWith(query) && n2.endsWith(query))) {
return Integer.compare(n1.length(), n2.length());
}
// Only one startsWith
if (n1.startsWith(query)) {
return -1;
}
if (n2.startsWith(query)) {
return 1;
}
// only one endsWith
if (n1.endsWith(query)) {
return 1;
}
if (n2.endsWith(query)) {
return -1;
}
答案 0 :(得分:2)
用数据库术语来说,您要执行的操作称为规范化。您可以使用一对ARRAYFORMULAS来做到这一点,就像这样:
首先构建垂直(B5:B7)和水平(C4:E4)轴值的所有可能组合的列表,然后放入A10,例如
=arrayformula(
split(
transpose(
split(
concatenate(
arrayformula(
unique(filter(B5:B7, not(isblank(B5:B7)))) & "|" &
unique(filter(C4:E4, not(isblank(C4:E4)))) & "\"
)
),
"\")
),
"|")
)
使用维度值在表格中查找日期并将其放入C10
=arrayformula(
text(vlookup(A10:A18, $B$4:$E$7, match(B10:B18, $C$4:$E$4, 0)+1, false), "MM/DD/YYYY")
)
答案 1 :(得分:1)