基于多个数据从单元格中添加和删除特定值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于多个数据从单元格中添加和删除特定值相关的知识,希望对你有一定的参考价值。
说明
我建立了此提现和退回电子表格,其中Registration
管理用户注册及其自身的项目,Items control
管理提现和退回。 Registration!B2
上的公式通过基于Items control
数据显示用户拥有的物品来起作用。
[如您在下面的示例中看到的那样,该公式通过在Item control
上查找相应的用户并将其Items with user
值更改为在Items
的Item control
列中找到的最后一个值来工作。这种方法的缺点是,只有当用户返回之前撤回的相同项目时,该方法才起作用。如果用户在退回之前进行了多次提款,或者没有退回之前自己退回过的物品,则将无法使用。
[我想的是,当在Items with user
中注册了提款时,公式将在Items control
中添加项目,并且如果注册了退货,那么它将从相应的单元格中提取特定的项目。
示例
我创建了this example电子表格,您无需登录即可自由编辑。
答案
尝试:
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A, SORT('Item control'!A2:A,
REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(REGEXREPLACE(
IF(('Item control'!C2:C<>"")*('Item control'!B2:B<>"return")*
(IFERROR(SPLIT('Item control'!C2:C, ","))<>""), REGEXREPLACE('Item control'!A2:A&" "&
TRIM(SPLIT('Item control'!C2:C, ","))&"♦", TEXTJOIN("|", 1, SORT(
IF(('Item control'!C2:C<>"")*('Item control'!B2:B="return")*
(IFERROR(SPLIT('Item control'!C2:C, ","))<>""), 'Item control'!A2:A&" "&
TRIM(SPLIT('Item control'!C2:C, ","))&"♦", ), 1, 0), ), ), ), "^\d+ ", ))
,,99^99))), "♦", ","), ",$", ), 2, 0), 2, 0)))
更新
="Items with user"; ARRAYFORMULA(IFERROR(VLOOKUP(A2:A, SUBSTITUTE(REGEXREPLACE(TRIM(SPLIT(
TRANSPOSE(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
IF(('Item control'!C2:C<>"")*('Item control'!B2:B<>"return")*
(IFERROR(SPLIT('Item control'!C2:C, ","))<>""), REGEXREPLACE("♠"&'Item control'!A2:A&"♫♣♥"&
TRIM(SPLIT('Item control'!C2:C, ","))&"♦", TEXTJOIN("|", 1, SORT(
IF(('Item control'!C2:C<>"")*('Item control'!B2:B="return")*
(IFERROR(SPLIT('Item control'!C2:C, ","))<>""), "♠"&'Item control'!A2:A&"♫♣♥"&
TRIM(SPLIT('Item control'!C2:C, ","))&"♦", ))), ), ),,99^99)),,99^99), "♠")), "♥"),
"select max(Col2) where Col2 is not null group by Col2 pivot Col1"),,99^99)), "♣")),
"♫|♦$", ), "♦", ","), 2, 0)))
以上是关于基于多个数据从单元格中添加和删除特定值的主要内容,如果未能解决你的问题,请参考以下文章
如何在选择单元格上的 UIcollectionViewCell 特定单元格中删除长手势?