作者Qingcai (qingcai)
看板Office
標題[問題] EXCEL VBA 特殊數字分析語法
時間Sat Sep 1 05:13:51 2018
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:EXCEL
版本:2016
請教各位VBA大神
假設有四行資料,分別為
ABCDEFGHIJ........
1 7985342601
2 8526109743
3 4683125970
4 3927586104
.
.
.
然後先看後三行並且讓它分前五個跟後五個分析(分左右邊的意思),像這樣
ABCDE FGHIJ.....
2 85261 09743
3 46831 25970
4 39275 86104
.
.
.
如何用VBA找出前兩行有重複數字且三行都出現的跳過不選
以上面的例子來講結果會分別是
左邊有861
右邊有79
然後把這兩種結果分別放到兩個儲存格裡
再來讓剛剛出現的結果去對第一排的數字
79853 42601
一樣分左右兩邊看
以左邊前五個來講
861只有8在左邊------代表 1
61都跑到右邊後五個--代表-2
兩個相加-2+1=-1
以右邊來看後五個
79兩個數字沒有一個在裡面
都跑到左邊-------代表-2
把最後兩個結果相加 -1+(-2)= -3 然後顯示在儲存格裡
以上寫成語法要怎陳述?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.229.240
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1535750033.A.B44.html
1F:→ soyoso: 巢狀迴圈於左右內五個儲存格,以原文來看為a2:e2和f2:j2 09/01 10:53
2F:→ soyoso: 再以工作表函數countif判斷前兩行有重複數字(如範圍包含 09/01 10:53
3F:→ soyoso: a2:e2)的話,重覆回傳值為2,不包含的話為1 09/01 10:53
4F:→ soyoso: 且三行都不出現,同樣也以countif判斷 09/01 10:53
5F:→ soyoso: 上述二個條件都符合時再和第1列的數字分左右,以countif判 09/01 10:53
6F:→ soyoso: 斷。 09/01 10:54
7F:→ soyoso: 8在左邊和6,1在右邊時所累加1和-1(原文寫-2,是否是二個數 09/01 10:54
8F:→ soyoso: 字)方面,可以巢狀迴圈內的迴圈變數值拿來做為判斷,看要 09/01 10:55
9F:→ soyoso: 累加的數值為1或-1 09/01 10:55
感謝大大 剛學會回覆留言..不過照我剛剛講的可以怎麼陳述呢
※ 編輯: Qingcai (27.52.229.240), 09/01/2018 14:25:13
10F:→ soyoso: 迴圈的變數值,為小於或小於等於5(看迴圈初始值) 09/01 14:45
11F:→ soyoso: 來判斷左右邊countif範圍有該數值時是要累加1或-1 09/01 14:45