返回列表 上一主題 發帖

[發問] 關於儲存格資料擷取與轉換

[發問] 關於儲存格資料擷取與轉換

各位大大好:
想請教一個問題
我有一份資料兩個Sheet
裡頭有sheet1有1~2500筆的資料
需要轉換成Sheet2的形式
我目前是用OFFSET的函數
但是有個問題
當我刪除了Sheet1的單筆或部分資料後
序號就會錯亂了~~~~~
例如:我刪除了Sheet1的序號2的資料
Sheet2的A501資料會排到501沒錯
但是D2的資料就會錯了~~仍然是序號501

雖然是1~2500筆
因為裡面有些序號是不要的>   <
請問大大們這有什麼方式或是其他的函數可以解決刪除資料後讓序號正常排列的辦法麼??
不然~我會排到瘋掉
在此也附上我目前做的檔案~
還請各位高手大大能協助
在此先謝謝各位大大了~~~

新資料夾.rar (43.19 KB)

回復 12# tyrone123456
謝謝tyrone123456大的解說~~~還有圖片文字解釋
我再研究好好加強看看~~~~

TOP

回復 11# JBY
謝謝JBY大的另一種作法~~~~
看來我函數真的要好好再學學才是:'(

TOP

=OFFSET(C3,2,3,1,1)的意義是:以C3為起始點,往下兩格〈即C5〉,再往右3格〈即F5〉,至於後面兩個1的用途只是把F5的儲存格寬高資料抓取過來而已

TOP

本帖最後由 JBY 於 2015-4-19 22:16 編輯

回復 10# dodo234



1] D2,輸入陣列公式後 (一齊按 Ctrl + Alt + Enter 3鍵 ) 向下複製公式 :

=IFERROR(SMALL(IF(A$2:A$11<>"",A$2:A$11),ROW(1:1)),"")

2] F2,輸入陣列公式後 (一齊按 Ctrl + Alt + Enter 3鍵 ) 向下複製公式 :

=IFERROR(SMALL(IF(A$2:A$11<>"",A$2:A$11),ROW(6:6)),"")

3] E2, 輸入公式後 向右 G2 複製公式, 再向下複製公式 :

=IFERROR(VLOOKUP(D2,$A$2:$B$11,2,0),"")

TOP

回復 9# tyrone123456
哦!!!原來如此~~
tyrone123456您真細心~想到將頁面美化~~~~
我可以再問您
=OFFSET($A$2,ROW(I2)-2,0,1,1)
裡頭的ROW(I2)-2,0,1,1要怎麼解釋麼???
另外我想問一下ROW(I2)-2這運算式是怎樣才能知道的呢??
因為我每次寫這部份都寫不好~不知道怎麼寫才能抓到我要的資料>  <
可否方便再教教我.......

TOP

你試試看把我剛剛秀的資料再刪除兩筆,你就會看到不加if的差異
沒有if的話,你會看到G5儲存格顯示0,就不好看,若加上if,則可以將等於0的儲存格變成空白,頁面看起來就感覺好多了

TOP

回復 7# tyrone123456
tyrone123456您太神了~~~~
成功了耶~~~~^O^
但因為我對OFFSET函數用法不是很瞭解~
可否方便與詢問
您所設定的
=OFFSET($A$2,ROW(I2)-2,0,1,1)與
=IF(OFFSET($A$2,ROW(I14)-2,0,1,1)>0,OFFSET($A$5,ROW(I14)-2,0,1,1),"")
內容是什麼意思呢?
我想說若我瞭解裡面的設定~以後也許可以再更活用了~~~
真的太謝謝tyrone123456大的大力協助了~
2500筆的表格終於好了~~~~~

TOP

想到寫法了
左區是假設原始資料,中間是變更的排列樣子,右邊則是把公式顯示出來,其中最後一個公式多加入判讀式是因為若無數值則顯示空白


你試試刪除一筆料,就會如你想要的改變

TOP

你的需求必須寫VBA程式才能達到,
因為當你刪除某一資料之後,他會出現一訊息問你要右邊或下面的資料移過來,但是移動過來的儲存格內並無任何公式,所以根本不可能做出任何動作,或者你去刪除原始資料的位置,但此處的儲存格公式會自動變更公式,所以也沒有辦法達到你的目標,故此我才說寫VBA程式才能達到你的目的

TOP

        靜思自在 : 話多不如話少,話少不如話好。
返回列表 上一主題