Board logo

標題: [發問] 請較如何將原始資料在自動排序後配對? [打印本頁]

作者: ffgordon    時間: 2012-10-31 10:35     標題: 請較如何將原始資料在自動排序後配對?

各位大哥大姊好:

小弟遇到一個問題如下圖,
[attach]12957[/attach]

A2:D400中,某些列有文字寫在儲存格內,

我利用網路上找到的函數如下在F行將A行的文字自動排序,
=INDEX($A:$A,RIGHT(SMALL(COUNTIF($A$2:$A$400,">="&$A$2:$A$400)*10^3+ROW($A$2:$A$400),ROW(1:1)),3))
但現在的問題是,後面三行(B,C,D行)我不曉得該怎麼與A行抓過來的文字自動配對...

以上圖來說
A2為E2P-3914211-M77,B2為case,C2為5,D2為AA,
經自動文字排序後,F2為E2P-3914211-M77,
則在G2、H2、I2有沒有辦法自動抓到原B2、C2、D2的值呢

感謝各位前輩的幫忙...感激不盡!!!
作者: ANGELA    時間: 2012-10-31 16:26

=INDEX(A:A,RIGHT(SMALL(COUNTIF($A$2:$A$400,">="&$A$2:$A$400)*10^3+ROW($A$2:$A$400),ROW(1:1)),3))
試試
作者: ffgordon    時間: 2012-10-31 17:20

本帖最後由 ffgordon 於 2012-10-31 17:21 編輯

[回復 2# ANGELA

感謝板大的幫助!!!
我後來是在G2格裡填上下面函式可以達到我要的目的
=VLOOKUP($F2,$A$2:D$420,COLUMN(B1),0)

但現在我又有個新問題...
下圖1是我目前可以達到的程度,即僅能將儲存格的文字(值)抓過來,無法將格式一起抓來
[attach]12972[/attach]

下圖2則是我希望達到的目標,即能將儲存格的格式一起抓來,
如圖中黃色底色這些儲存格....
[attach]12973[/attach]

這幾個有黃色底色的儲存格我是單獨列在別的sheet再抓過來的,
想請教各位前輩有沒有辦法達到抓格式的目標呢....

底下是我的檔案,希望各位前輩幫幫忙
真是非常非常非常感謝!!!!!
[attach]12975[/attach]
作者: ffgordon    時間: 2012-10-31 17:46

回復 3# ffgordon

Dear 各位前輩:

小弟剛剛試用"設定格式化的條件",成功使包含"類"這個字的儲存格變成黃色底色如下
[attach]12977[/attach]

但G,H,I行沒有關鍵字無法設定格式...
想請教有沒有辦法使G,H,I行能自動抓F行相同列的格式呢?

感激不盡!!!
作者: ffgordon    時間: 2012-10-31 18:09

回復 4# ffgordon

Dear 各位前輩:

剛剛看到可以自訂公式,
我想在下圖的紅框中輸入一個函式,
其描述為
"當此儲存格之F行同列的儲存格包含'類'這個字,則為真"
或者
"當此儲存格之左方儲存格有'黃色底色',則為真"
則是否有機會讓G,H,I行也變成黃色底色?
但實在抱歉我還不太會寫函式,
能否請板大幫忙撰寫一下上方的函式來試驗看看能不能成功了?
小弟萬分感激!!!
[attach]12979[/attach]
作者: Hsieh    時間: 2012-10-31 22:10

回復 5# ffgordon

公式無法傳回格式
設定格式化條件,必須了解參照關係
要讓同列參照F欄位的結果
所以,同列的儲存格對於參照的欄位均為F欄位,所以是絕對參照於F欄位
而列位是隨著儲存格而變所以,列位必須使用相對參照
使F2為作用中儲存格,公式為
=ISNUMBER(FIND("類",$F2))
如圖所示
[attach]12983[/attach]
作者: ffgordon    時間: 2012-11-1 10:52

回復 6# Hsieh

非常感謝板大的幫忙!!!
但我用一用又發現一個新問題....

我是在sheet4整理前面抓來的資料,
像A2格與A3格分別為 =LCD_Side!B4 與 =LCD_Side!B5

但當我在LCD_Side這個sheet的第4第5列中間多插一列,
sheet4的A2格不變,但A3格變成=LCD_Side!B6
請問有辦法在增減列之餘,我仍然可以抓到B1至B100的儲存格內容嗎?
非常感謝!!!

ps.被擠到B101的資料沒被抓到沒關係,因為我實際頂多只會用到70列,剩下30列是多餘做預備的
作者: ANGELA    時間: 2012-11-1 12:33

a2=INDIRECT("'LCD_Side'!"&CHAR(COLUMN(BN1))&ROW(A4))
作者: ffgordon    時間: 2012-11-1 14:45

回復 8# ANGELA

真的是非常非常感謝板大!!!!

但是...我用一用發現還剩最後一個難關,就達到我心中理想的表格了

我現在在F行進行排列所用的公式,只有抓A2~A420進行比對
=INDEX($A:$A,RIGHT(SMALL(COUNTIF($A$2:$A$420,">="&$A$2:$A$420)*10^3+ROW($A$2:$A$420),ROW(1:1)),3))

若是想改成比對A2~A100,(跳4行)E1~E100,(跳4行)I1~I100,(跳4行)M1~M100,這400格,
請問有辦法嗎....

ps. 會想改這樣是因為我每次在前4個sheet裡輸入文字後都會頓一下,想來是excel要抓數百格資料太費記憶體
所以我想說把前4sheet分別放在A~P行(共16行)裡,所有公式都只打在第一列,
等需要排序時再將公式向下複製,就不會一直使用到記憶體而延遲停頓了...




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)