我有这张表,我在(Data_Entry)选项卡中输入了所有患者的数据,我希望这些数据以00-00的形式按房间号和床位号进行排序。例如4号房间,bed2 (4-2),等等。我增加了一个助手栏L,它修改了房间/床号,我删除了"-“,如果输入的数字没有,我乘以10”因为有些房间只是一张床的房间。“然后查询All_patients选项卡中的所有数据,首先按单元(第一列)排序,然后按病房(列B),然后按修改后的房间和床(助手栏L)进行排序。因为按列C进行排序(实际数字如4-3)不能得到正确的升序数。
但是,在All_Patients选项卡的结果中,我遇到了一个问题:原来的助手列L(Data_Entry) --即结果选项卡(All_Patients)中的K列--没有显示numbers.So的所有值,这导致了按房间和床号的上升顺序不正确。
=ArrayFormula(IFs(REGEXMATCH(C5:C, "-"), SUBSTITUTE(C5:C,"-",""), C5:C<>"-",C5:C*10))这个公式在L5 of (Data_ENtry)选项卡中,该选项卡以实际数字修改房间/床号,如果需要,可以排序。
=query(Data_Entry!B5:L,"select B,C,D,E,H,F,G,K,I,L where F is not null AND B<>'Ward' order by I,B,L",0)这个公式在B5 of (All_Patients)选项卡中,该选项卡带来所有输入数据,并按单位、病房、房间对它们进行排序。
也许有一种更聪明的方法来整理房间/床号
发布于 2021-02-28 20:13:02
我修改了L5 =ArrayFormula(text(ArrayFormula(IFs(REGEXMATCH(C5:C, "-"), SUBSTITUTE(C5:C,"-",""), C5:C<>"-",C5:C*10)),"00000"))上的helper列,这将使所有的房间/床号都以00000格式。然后,它们将在(All_Patients)选项卡中按照这个公式=query(Data_Entry!B5:L, "select B,C,D,E,H,F,G,J,I,L where B<>'Ward' AND F is not null order by I,B,L",0)进行排序。似乎我把两个ArrayFomula函数放在同一个单元格中,并且工作正常。如果我能用更好的方式简化它。
https://webapps.stackexchange.com/questions/151307
复制相似问题