[操作疑難] excel: 抽 record 重新顯示

table 1
peter   age 23   male
mary   age 15   female

table 2
peter  age 15  male
peter  age 24  male

table 3


如何能用一個 step 或一條 formula 將 table 1 and 2 的 所有 peter 記錄整行 copy 到 table 3?

一定要一條?加多個COLUMN得唔得?

TOP

回覆 2# bunch

都可以,重要的是一個 step,不用 copy and paste,你講來聼聼。

TOP

記得舊時 lotus spreadsheet 是可以將 search 的結果整段顯示在其它指定位置,excel 好似冇得咁做。

TOP

本帖最後由 bunch 於 2017-3-10 11:34 編輯

回覆 3# williamwclee

首先, 我唔知你TABLE 1同TABLE 2係咪可以無限咁多個同名RECORD
如果係, 你一係就分開兩邊SEARCH然後GROUP埋一齊, 一係就寫VBA SCRIPT做
否則以我所以M$ EXCEL冇咁方便既FORMULA

至於點樣LIST出所有同名RECORD, 有幾個做法
1. 響TABLE 1同TABLE 2 每一行尾加個COUNTIF, 然後TABLE 3只要LIST出有數字既就得
例:


附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

table 1
peter   age 23   male
mary   age 15   female

table 2
peter  age 15  male
peter  age 24  mal ...
williamwclee 發表於 2017-3-10 10:01


加入一行A,輸入「=B2&COUNTIF($B$2:B2,$B$2)」,然後拉落去。
係Table3下,輸入「=IFERROR(VLOOKUP($A$10&ROW(1:1),$A$2:$D$7,COLUMN(),0),"")」,拉到你想要的範圍。
然後係A10位輸入peter。

當然,如果你個表有變化,你亦可以加以修改公式。
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

回覆 6# mdws2002

thankyou, msdw2002

幾理想,但有些地方不明白,研究下再問。

TOP

本帖最後由 williamwclee 於 2017-3-10 15:30 編輯

回覆 6# mdws2002

B12=VLOOKUP($A$10&ROW(3:3),$A$2:$D$7,COLUMN())

簡化做這個也可行,iferror 有甚麼作用?

$A$10&ROW(3:3) = peter3,是嗎?
ROW(3:3) 有冇其它 syntax 可替代?

COLUMN() 作用是傳回公式所在的欄的同列值,B7,是嗎?

TOP

回覆  mdws2002

B12=VLOOKUP($A$10&ROW(3:3),$A$2:$D$7,COLUMN())

簡化做這個也可行,iferror 有甚麼作 ...
williamwclee 發表於 2017-3-10 15:29


先簡單講講Vlookup用法。
Vlookup(參考值,尋找範圍,尋找範圍內的第幾項資料,大約符合(1/True)/完全符合(0/False))

=IFERROR(Vlookup($A$10&ROW(1:1),$A$2:$D$7,Column(),0),"")
所以$A$10&ROW(1:1),就係參考值,$A$10,即係你輸入資料嗰格:peter。Row(1:1),即係列數︰1
範圍$A$2:$D$7,就係要搜嘅範圍,唔使點多講啦。
Coumn(),就係表示當前格數的欄位。A為1,B為2,如此類推。
之後的0,即係代表要完全符合,先顯示。(因為你現時的數據較少,所以可能你勿略咗,都可以顯示到,但係當你的數據多的時候,就未必係完全符合嘅結果佢先顯示出嚟。)
至於iferror,你唔鐘意用,其實都可以唔用。
呢個只係用嚟做判斷式。iferror(正確運算時顯示的值,錯誤運算時顯示的值)
唔用嘅話,頂多就係好似5樓師兄Post出嚟嘅圖咁,一堆「#N/A」。

TOP

回覆 9# mdws2002

thankyou

TOP