在我的excel表(Excel-365)中,我有3列,即Table_Name、Size_MB和Session_Num,如下所示。我试图在两个单独的列中列出所有的BAL1_98460501. (A列)和它们的Size_MB (B列),其中Table_Name在名称的末尾加上下划线(_),例如,Table_Name由Session_Num (C列)组成。
注意:大约有116 k记录在Excel-365.中,80 k记录在Session_Num中,我使用的是 Table_Name
Table_Name Size_MB Session_Num
TDATASEG 110135 98460501
SNP_SESS_TASK 15346 240089501
BIN$yb73fGvTAPbgU4IdCBcZFA==$0 875 68243501
BAL1_15882501 248 112275501
BAL1_98460501 176 635501
LOG_216464501 114 28794501
EXCH_240089501 0.375 225655501
EXCH_RATE_252682501 0.375 216464501
LOG_68243501 0.75 467687453
CUR_DEC_112275501 0.0625 225659501
BAL_200895501 0.5625 252682501
...................... ......... ...............
…..................... ......... ...............

预期输出:
Table_Name Size_MB
BAL1_98460501 176
LOG_216464501 114
EXCH_240089501 0.375
EXCH_RATE_252682501 0.375
LOG_68243501 0.75
CUR_DEC_112275501 0.0625
…................ .........
…................ .........你能给我一个提示吗?我们如何使用excel公式来实现这个目标?谢谢。
发布于 2021-09-23 06:17:51
你可以试试:

E2中的公式
=FILTER(A2:B12,COUNTIF(C2:C12,TRIM(RIGHT(SUBSTITUTE(A2:A12,"_",REPT(" ",LEN(A2:A12))),LEN(A2:A12)))),"")发布于 2021-09-23 06:01:04
如果要返回列C中最后一个下划线后面有数字的表名,并且使用Office 365,则可以尝试此公式。
=FILTER(A2:B12,COUNTIF(C2:C12,FILTERXML("<x><y>"&SUBSTITUTE(A2:A12,"_","</y><y>")&"</y></x>","//y[last()]")))发布于 2021-09-23 05:39:10
如果您有Excel-365,那么可以尝试下面的公式。
=FILTER(A2:B6,ISNUMBER(SEARCH("_",A2:A6)))以上公式将使表名字段中具有下划线_的行无效。

https://stackoverflow.com/questions/69294105
复制相似问题