[英]Powershell, Excel Finding string in cell, Color row, delete others
[英]Finding a string in a row and removing it in excel
我有一張類似於下面的表格
si id a b c d e
1 123 abc bcd abc def efg
2 234 bcd cde def efg fgh
3 345 cde efg efg abc ghi
我想做的是查找字符串“ abc”是否存在於行中,如果存在,請將其刪除,然后將后續列復制到其位置,即第一行“ abc”存在於列A中,所以我要刪除並將col BE移至Col AD。 在第二行中不存在“ abc”,因此應按原樣保留該行,但在第三行中,“ abc”在Col D中,因此應將其刪除,並將“ ghi”粘貼到其位置,從而保留列E空。
我能夠使用MATCH
做到這一點,但這里的問題是MATCH
僅找到第一個出現的事件,而沒有找到后續出現的事件。
有沒有一種方法可以使用excel公式而不是vba。
您無法使用公式(在注釋中提及)就地退出數據-但是,如果您想要自動刪除項目的數據副本,則只要修改原始表就可以更新該表。 我會將結果數據粘貼在輸入數據下方,但是如果您願意,可以將其粘貼在另一張紙上。
我們從這個開始:
| A | B | C | D | E | F | G |
---+-------+-------+-------+-------+-------+-------+-------+--
1 | si id a b c d e
2 | 1 123 abc bcd abc def efg
3 | 2 234 bcd cde def efg fgh
4 | 3 345 cde efg efg abc ghi
5 |
6 |
7 |
8 |
9 |
10 |
步驟1:在A6中放入=A1
步驟2:將A6復制到B6:G6,A7:A10和B7:B10
現在工作表如下所示:
| A | B | C | D | E | F | G |
---+-------+-------+-------+-------+-------+-------+-------+--
1 | si id a b c d e
2 | 1 123 abc bcd abc def efg
3 | 2 234 bcd cde def efg fgh
4 | 3 345 cde efg efg abc ghi
5 |
6 | si id a b c d e
7 | 1 123
8 | 2 234
9 | 3 345
10 |
步驟3:在C7中輸入以下數組公式(請記住按Alt-Shift-Enter而不是僅按Enter):
=IFERROR(INDEX($C2:$G2,1,SMALL(IF($C2:$G2<>"abc",COLUMN($C2:$G2)-2),COLUMN(A1))),"")
步驟4:將C7復制到D7:G7和C8:G9
現在工作表如下所示:
| A | B | C | D | E | F | G |
---+-------+-------+-------+-------+-------+-------+-------+--
1 | si id a b c d e
2 | 1 123 abc bcd abc def efg
3 | 2 234 bcd cde def efg fgh
4 | 3 345 cde efg efg abc ghi
5 |
6 | si id a b c d e
7 | 1 123 bcd def efg
8 | 2 234 bcd cde def efg fgh
9 | 3 345 cde efg efg ghi
10 |
這個怎么運作:
=IF($C2:$G2<>"abc",COLUMN($C2:$G2)-2)
生成一個值數組,該數組的數值為非abc的值,而數值為FALSE的值為abc。 -2
很重要,因為數據左側有兩個標題列。
=SMALL(IF($C2:$G2<>"abc",COLUMN($C2:$G2)-2),COLUMN(A1))
返回返回數組中的第n個最小數字-跳過所有FALSE價值觀。
=INDEX($C2:$G2,1,SMALL(IF($C2:$G2<>"abc",COLUMN($C2:$G2)-2),COLUMN(A1)))
返回該值的位置第n個Smallestst數字-如果由於過濾出的項目而沒有值,則返回錯誤
=IFERROR(INDEX($C2:$G2,1,SMALL(IF($C2:$G2<>"abc",COLUMN($C2:$G2)-2),COLUMN(A1))),"")
返回值並將錯誤替換為空單元格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.