计划的动态自定义过滤表
Dynamic Custom filtered tables for a Schedule
我有几个关于在 google sheet 秒内整理和组织日程的问题。
我找到了一些变通办法来完成我想完成的大部分工作,但我希望得到一些意见,也许还有一些关于如何让它更好地工作的想法。
问题 - 我有一个可以为所有员工的工作时间表生成的 CSV 文件。与它一起工作和观察并不是很共同发明。我正在尝试从 spreadsheet 中获取数据并按日期、部门和姓名对其进行排序。
- 有些人有分班制,这会导致第二行的名称应为空白单元格。 (解决创建另一个列表,如果单元格为空,它会复制上面的数据。)
- 轮班的时间和部门在同一个单元格中,需要分开(解决搜索所有部门的每个单元格并显示匹配的名称,时间取第 12 个字符左侧的所有文本)
- 最后,最好将名称颠倒过来,这样就可以是 First then Last 而不是“Last, First”。除了能够使用 custom/nick 个名字代替 Nunez,Elizabeth 还会显示 Eli Nunez。这对部门来说很好。 (解决方法类似于部门,只需搜索每个名称并显示与“=IF(ISNUMBER(SEARCH...”)
的匹配项
理想情况下,这将使用动态 filter/pivot table/dynamic 数组来完成,这样每个单元格中的代码就不会很多,并且会自动填充和排序。
如果需要,我也可以提供我所有的代码工作。
Sheet Example
“全周”sheet 是我的起点,“按天排序”sheet 是我要寻找的 output/end 目标。
希望这是足够的信息,如果问错了地方,我们深表歉意/post。
谢谢
- 艾伦
感谢您的帮助。我在将它实施到我的最终计划中时仍然遇到了一些麻烦 sheet。
Here 是我的最终 sheet 以及我所有的解决方法代码。
尝试:
=INDEX(IFERROR(REGEXREPLACE(TRANSPOSE(SPLIT(TRIM(FLATTEN(QUERY(QUERY(SUBSTITUTE(
TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(REGEXREPLACE(REGEXREPLACE(TRIM(QUERY(SPLIT(FLATTEN(
QUERY(TRANSPOSE(QUERY(SPLIT(FLATTEN(IF('Full Week'!B2:20="",,'Full Week'!B1:1&"♣"&
TEXT('Full Week'!B1:1, "emmdd\♠ddd\♦")&"♣"®EXREPLACE(VLOOKUP(ROW('Full Week'!A2:A20),
IF('Full Week'!A2:A20<>"", {ROW('Full Week'!A2:A20), 'Full Week'!A2:A20}), 2, 1),
"(.*),(.*)", "♥ ")&"♣♥"&SUBSTITUTE('Full Week'!B2:20, CHAR(10), "♣"))), "♣"),
"select Col2,Col5,Col3,Col4
where not Col4 matches '^♥ $'
and Col1 >= date '"&TEXT(TODAY()+1, "e-m-d")&"'
and Col1 <= date '"&TEXT(TODAY()+4, "e-m-d")&"'")),,9^9)), "♦"),
"select max(Col2)
group by Col2
pivot Col1")), "^♥", "♂ ♥"), "^$", " ♥ ♥ ♥")&" ♥"),,9^9)), "♥")), " ", "♀"),
"offset 1", 0),,9^9))), " ")), "♀|♂", " ")))
domo sheet
我有几个关于在 google sheet 秒内整理和组织日程的问题。 我找到了一些变通办法来完成我想完成的大部分工作,但我希望得到一些意见,也许还有一些关于如何让它更好地工作的想法。
问题 - 我有一个可以为所有员工的工作时间表生成的 CSV 文件。与它一起工作和观察并不是很共同发明。我正在尝试从 spreadsheet 中获取数据并按日期、部门和姓名对其进行排序。
- 有些人有分班制,这会导致第二行的名称应为空白单元格。 (解决创建另一个列表,如果单元格为空,它会复制上面的数据。)
- 轮班的时间和部门在同一个单元格中,需要分开(解决搜索所有部门的每个单元格并显示匹配的名称,时间取第 12 个字符左侧的所有文本)
- 最后,最好将名称颠倒过来,这样就可以是 First then Last 而不是“Last, First”。除了能够使用 custom/nick 个名字代替 Nunez,Elizabeth 还会显示 Eli Nunez。这对部门来说很好。 (解决方法类似于部门,只需搜索每个名称并显示与“=IF(ISNUMBER(SEARCH...”) 的匹配项
理想情况下,这将使用动态 filter/pivot table/dynamic 数组来完成,这样每个单元格中的代码就不会很多,并且会自动填充和排序。
如果需要,我也可以提供我所有的代码工作。
Sheet Example
“全周”sheet 是我的起点,“按天排序”sheet 是我要寻找的 output/end 目标。
希望这是足够的信息,如果问错了地方,我们深表歉意/post。
谢谢
- 艾伦
感谢您的帮助。我在将它实施到我的最终计划中时仍然遇到了一些麻烦 sheet。 Here 是我的最终 sheet 以及我所有的解决方法代码。
尝试:
=INDEX(IFERROR(REGEXREPLACE(TRANSPOSE(SPLIT(TRIM(FLATTEN(QUERY(QUERY(SUBSTITUTE(
TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(REGEXREPLACE(REGEXREPLACE(TRIM(QUERY(SPLIT(FLATTEN(
QUERY(TRANSPOSE(QUERY(SPLIT(FLATTEN(IF('Full Week'!B2:20="",,'Full Week'!B1:1&"♣"&
TEXT('Full Week'!B1:1, "emmdd\♠ddd\♦")&"♣"®EXREPLACE(VLOOKUP(ROW('Full Week'!A2:A20),
IF('Full Week'!A2:A20<>"", {ROW('Full Week'!A2:A20), 'Full Week'!A2:A20}), 2, 1),
"(.*),(.*)", "♥ ")&"♣♥"&SUBSTITUTE('Full Week'!B2:20, CHAR(10), "♣"))), "♣"),
"select Col2,Col5,Col3,Col4
where not Col4 matches '^♥ $'
and Col1 >= date '"&TEXT(TODAY()+1, "e-m-d")&"'
and Col1 <= date '"&TEXT(TODAY()+4, "e-m-d")&"'")),,9^9)), "♦"),
"select max(Col2)
group by Col2
pivot Col1")), "^♥", "♂ ♥"), "^$", " ♥ ♥ ♥")&" ♥"),,9^9)), "♥")), " ", "♀"),
"offset 1", 0),,9^9))), " ")), "♀|♂", " ")))