我希望在 Google 表格中简化这个公式。
=CONCATENATE(IF(VLOOKUP($E85,'2024 Master Data'!$C:$T,11,0)=0," ",concatenate(char(10),VLOOKUP($E85,'2024 Master Data'!$C:$T,11,0)," ",IF(ISNUMBER(VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0))=TRUE, ROUND(VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0),2), VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0)))))
目标是引用另一张名为“2024 年主数据”的工作表,并将多个单元格中的信息合并到一个单元格中。
第一根弦是木材类型,第二根弦是木材数量。
只有当木材类型不为空时,我们才要创建一个新行并显示木材类型,后跟数量
IF(VLOOKUP($E85,'2024 Master Data'!$C:$T,11,0)=0," ",concatenate(char(10),VLOOKUP($E85,'2024 Master Data'!$C:$T,11,0)," ",...
如果木材类型是数字,那么我们希望将其四舍五入到小数点后两位,如果不是,我们希望显示文本。
IF(ISNUMBER(VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0))=TRUE, ROUND(VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0),2), VLOOKUP($E85,'2024 Master Data'!$C:$T,12,0))
有什么办法可以让这件事变得不那么复杂吗?该公式仅拉动 1 种木材类型和木材数量。最多可能需要 7 种木材,因此这个公式为 7x。
例如:具有 3 种木材类型的最终单元将显示:
4/4 山毛榉 1.5
6/4 胡桃木3.5
8/4核桃2.8
=IFNA(LET(rng,'2024 Master Data'!C:T,
rw,MATCH(D1,INDEX(rng,,1),0),
a_,INDEX(rng,rw,11), b_,INDEX(rng,rw,12),
IF(a_=0,,char(10)& a_& " "&
IF(ISNUMBER(b_),ROUND(b_,2),b_))))
假设您的查找值位于 E85:E100 中
=LET(types,E85:E100,
rng,'2024 Master Data'!C:T,
MAP(types, LAMBDA(t, IFNA(LET(
r,MATCH(t,INDEX(rng,,1),0),
a,INDEX(rng,r,11), b,INDEX(rng,r,12),
IF(a=0,,char(10)& a & " " &
IF(ISNUMBER(b),ROUND(b,2),b)))))))