日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DSML_用Excel实现按行排序后按列排序,最后高亮重复值

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DSML_用Excel实现按行排序后按列排序,最后高亮重复值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

記錄一個剛剛用本‘笨’辦法解決的數據清洗和數據整理問題

前幾天收到郵件,對之前我一篇論文的方法進行測試的時候有些疑問。我在復現的時候遇到了以下的問題:

我現在有三個結果,res1, res2 和 res3,他們的結構基本是一致的,都是兩列:

N8 N84 N18 N4 N22 N64 N10 N17 ... M0P1 M0P2 ...

如果不用 Python,只用 Excel, 如何找出三個結果中的重復值?(N2-N1視為與N1-N2等同)

我的笨辦法(不用 VBA)

首先,分別按照編號大小左右排序,再從小到達按列排序,最后拼接字符串。然后只要找出三個結果中的重復值并高亮就行了。

首先,將數據清理一下。因為 M0P 開頭的數據只有 M0P1 和 M0P2,我直接通過查找替換將所有 M0P1 換為 1001,M0P2換為1002(1001是因為N*中沒有大于500的值,所以1001可以保證 unique)。

然后,我們將第二列向右移動一列,因為空出的這一列要放分列的輸出。我們通過文本分列向導(數據->分列)將所有N*拆分成N和數字。如果選擇按數據的“分隔符”進行拆分并將N設置為分隔符,則可以直接提取數字(這個在窗口預覽的時候就能看到。具體可以參考微軟的這個教程)。由于之前已經把M0P*轉換為數字了,所以分列后這些1001、1002不會動;對于這兩列,我們分別進行分列操作,這時所有N*中的數字則會以一個新列的形式出現在列旁。之后我們只要所有處理好的數據歸回成完整的兩列,我們的數據清理就完成了。

(Copyright ? https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)

數據現在長這樣:

8 84 18 4 22 64 10 17 ... 1001 1002 ...

之后,我們需要進行按行排序,這一步直接做的話我試了一些方案,都不行,除非用 VBA,否則都不能自動化操作。因為我的每行就兩個數字,所以我們可以使用LARGE來實現類似排序的效果。假設我們第一列為excel的A列,第二列為B列,則使用=LARGE(A1:B1,2)就可以找出二者中小的數字,=LARGE(A1:B1,1)則找出二者中大的數字(具體參考這篇微軟的教程:“If n is the number of data points in a range, then LARGE(array,1) returns the largest value, and LARGE(array,n) returns the smallest value.”)

這步完成后大概數據變成這樣:

A B C D 8 84 8 84 18 4 4 18 22 64 22 64 10 17 10 17 ... 1001 1002 1001 1002 ...

之后我們直接對C列(每行的最小值)進行按列排序就好,excel會幫我們擴展到全部四列(Copyright ? https://blog.csdn.net/s_gy_zetrov. All Rights Reserved):

A B C D 18 4 4 18 8 84 8 84 10 17 10 17 22 64 22 64 ... 1001 1002 1001 1002 ...

最后一步,為了比較重復值,我們需要將CD列擠成一列,這里是用拼接函數=CONCATENATE(C1,"_",D1)然后一樣拉到底使其apply到所有行:

A B C D E 18 4 4 18 4_18 8 84 8 84 8_84 10 17 10 17 10_17 22 64 22 64 22_64 ... 1001 1002 1001 1002 1001_1002 ...

將三個結果粘進一個 Excel 文件中,假設拼接字符串的列在E、J、O,則全選這三列,選擇“條件格式”->“重復值”,所有重復出現的字符串就會被高亮出來了!(具體參考這篇微軟教程)。

至此,問題解決。辦法應該是最笨的一種了,但優勢是不需要VBA,對沒有編程背景知識的用戶(Copyright ? https://blo友好g.csdn.net/s_gy_zetrov. All Rights Reserved)。

以上。

(Copyright ? https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)


visitor tracker


總結

以上是生活随笔為你收集整理的DSML_用Excel实现按行排序后按列排序,最后高亮重复值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。