【緊急求救Excel問題】百萬火急~~~ ^^" - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- OFFICE 相 關 軟 體 討 論 版


PCZONE 討論區



通知

-- OFFICE 相 關 軟 體 討 論 版 Word、Excel、PowerPoint、Access、Outlook、FrontPage或Office XP等的問題解答與經驗分享

會員
【緊急求救Excel問題】百萬火急~~~ ^^"


請問,要如何才能解決下面例子的問題咧,請高手大大們...幫助求救無門ㄉ我ㄅ!
ex.
證券代碼 年月 報酬率
(%)
1101 台泥 Jan-83 -6.12
1102 亞泥 Jan-83 -6.3
1103 嘉泥 Jan-83 1.1
1104 環泥 Jan-83 -4.55
1107 建台 Jan-83 -4.3
1108 幸福 Jan-83 2.33
2105 嘉泥 Jan-83 1.1
3358 環泥 Jan-83 -4.55
...
...

要怎樣「刪除」表中第二欄(證券代碼)重覆出現公司的整列資料,並且僅保留其中一組資料?
比方說:嘉泥這家公司出現了二次,但只要刪除其中一列的資料(任一列皆可),如上面八筆資料中,刪除後的結果,如下:
1101 台泥 Jan-83 -6.12
1102 亞泥 Jan-83 -6.3
1103 嘉泥 Jan-83 1.1
1104 環泥 Jan-83 -4.55
1107 建台 Jan-83 -4.3
1108 幸福 Jan-83 2.33
...
...
請問有蝦米方法口以快速地完成咧~~~
因為醬子的檔案...總共有100個耶~~~
所以方法愈快速愈好...拜託拜託...! 

(PS.檔案如附件)

上傳的附加檔案
檔案類型: txt r8301a.txt (11.8 KB, 22 次觀看)
回覆
會員
Re: 【緊急求救Excel問題】百萬火急~~~ ^^"
引用:
最初由 foxcat99 發表


請問,要如何才能解決下面例子的問題咧,請高手大大們...幫助求救無門ㄉ我ㄅ!
ex.
證券代碼 年月 報酬率
(%)
1101 台泥 Jan-83 -6.12
1102 亞泥 Jan-83 -6.3
1103 嘉泥 Jan-83 1.1
1104 環泥 Jan-83 -4.55
1107 建台 Jan-83 -4.3
1108 幸福 Jan-83 2.33
2105 嘉泥 Jan-83 1.1
3358 環泥 Jan-83 -4.55
...
...

要怎樣「刪除」表中第二欄(證券代碼)重覆出現公司的整列資料,並且僅保留其中一組資料?
比方說:嘉泥這家公司出現了二次,但只要刪除其中一列的資料(任一列皆可),如上面八筆資料中,刪除後的結果,如下:
1101 台泥 Jan-83 -6.12
1102 亞泥 Jan-83 -6.3
1103 嘉泥 Jan-83 1.1
1104 環泥 Jan-83 -4.55
1107 建台 Jan-83 -4.3
1108 幸福 Jan-83 2.33
...
...
請問有蝦米方法口以快速地完成咧~~~
因為醬子的檔案...總共有100個耶~~~
所以方法愈快速愈好...拜託拜託...! 

(PS.檔案如附件)

在要刪除的那列上按右鍵.選刪除列.存檔
回覆
會員
Re: Re: 【緊急求救Excel問題】百萬火急~~~ ^^"
引用:
最初由 eumilk 發表



在要刪除的那列上按右鍵.選刪除列.存檔
可是每一個檔案有上萬筆資料,就是有上萬列資料,
可能第一列和第9981列公司相同
第35列和第8575列公司相同
..............
但是我不知相同的公司在第幾列,
那要怎要刪除,一個一個找,不是要找好幾天???
有比較快速的方法嗎???
感激您的回覆,但有更好的方法嗎??
謝謝
回覆
會員
Re: 這樣應該可以~~還可以更快喔~~
引用:
最初由 常上此站的動物 發表
1.先將代碼(台泥、亞泥....)這欄排序
2.假設台泥這個儲存格在b2,則執行此巨集
你可以看看此檔,1個按鈕可完成工作:下載 [/B]

因為foxcat99先生曾說過:一個檔案內有上萬筆資料,
而 MR.常上此站的動物 所提供的巨集,基本上是採逐筆比對、刪除的方式來做;
假設那一萬筆資料中,實際上只有38種的話,那可能要比對、刪除一萬多次。
如果採取下列方式的話,只要做38-1次的刪除動作或更少(如果有些資料只有一筆的話)
敬請參考:

Sub K刪除多餘列()
Application.ScreenUpdating = False
Set CR = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell): CR.Activate
Rn = CR.Row
Range(Cells(2, 1), Cells(Rn, 4)).Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=2, _
OrderCustom:=1, MatchCase:=False, Orientation:=1

a = 2
Do While a < Rn
Rcnt = WorksheetFunction.CountIf(Range(Cells(a, 2), Cells(Rn, 2)), Cells(a, 2))
If Rcnt > 1 Then
Rows(a + 1 & ":" & a + Rcnt - 1).Delete Shift:=xlUp
Rn = Rn - (Rcnt - 1)
a = a + 1
Else
a = a + 1
End If
Loop

Range(Cells(2, 1), Cells(Rn, 4)).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=2, _
OrderCustom:=1, MatchCase:=False, Orientation:=1
Application.ScreenUpdating = True
End Sub

P.S. 我原本擔心此做法有一可能的致命傷,假設資料埵P時存有『台達』、『台達電』的話,
在計算含有『台達』的筆數時,不知道會不會連『台達電』的筆數也算進去,
經實驗發現是多擔心了。

另,foxcat99有提到說有很多個來源檔(txt)
其實也可以用巨集一次匯入很多個txt檔(變成sheets(1)~sheets(n))
然後再用巨集循sheet一次整理到好...

以上,謹祝Leon生日快樂~
Happy Birthday~!
上傳的附加檔案
檔案類型: zip kjust_do_it.zip (93.6 KB, 34 次觀看)
回覆
會員

To: Mr. 常上此站的動物

是啊!^-^

昨天的壽星Leon就是Leon Chou 兄(我應該尊稱他為『師』)
不好意思,因為他的悄悄話功能也是disable的...
所以我就『公區私用』祝他生日快樂囉!

另,昨天那個巨集(刪除多餘列)的模式,只要稍加修改的話,
還可以用在: (1)快速蒒出(留下)某一種(or某些)資料
(2)快速去掉(刪除)某一種(or某些)資料
有空試試看吧!
回覆
會員

引用:
最初由 常上此站的動物 發表


1.由於Leon Chou兄熱心助人,使他桃李滿天下,我也常得到其教化,我也應該尊稱他為『師』!!
2.我會試著去修改!!謝謝您!!
非常感謝.....
自從這次之後....
現在努力學VBA....
希望大家指教一番....

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
全台獨家首發華碩M4A78-E"絕張自摸"+酷媽REALPOWER PRO400W"獨聽銅牌"=我的"第一台" auvistar -- 電 腦 硬 體 討 論 版 7 2009-09-06 01:52 AM
【閒聊】還有人記得"飛越比佛利"、"歡樂一家親"、"天才褓母"、"黃金女 Van -- 閒 話 家 常 灌 水 版 4 2004-01-09 09:36 AM
"醫師"比較容易罹患"精神方面疾病"以及"豬頭"和"獅頭"這兩種毒品 kuku0210 -- 閒 話 家 常 灌 水 版 0 2001-12-30 04:49 PM
有人會使用"非特殊機","只"使用CloneCD3.2.1.1備份出"三國志8"嗎? kimdahk -- 光 碟 燒 錄 討 論 版 2 2001-11-21 01:33 AM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。