c 雜湊表 A表到B表,其實還是表。

2021-10-12 02:24:58 字數 1081 閱讀 4981

經常性的有小同學問跨表引用問題,啥叫跨表引用?通俗的講就是從a表挪資料到b表,比如資料來源:

從上圖資料來源引用資料到下圖,常見的函式組合有 種:

01 「=」號

「=」號,等於號是最簡單最快捷的辦法,缺點①是資料來源的行列不能隨便變動②是不夠靈活,倆個表的行列次序不一致或者調整的時候,需要重新做公式:c3輸入=表1!c14,往右拉。

02vlookup+column

vlookup+column函式,缺點是資料來源的列不能隨便變動,c3輸入=vlookup($b3,表1!$b$2:$i$14,column(b2),0),往右拉。

03vlookup+match

vlookup+matc函式,資料來源的列不能隨便變動的缺點規避了,c3輸入=vlookup($b3,表1!$b$2:$i$14,match(c$2,表1!$b$2:$i$2,0),0),往右拉。

04lookup

lookup函式,缺點是倆個表的行列次序要保持一致,c3輸入=lookup($b3,表1!$b:$b,表1!c:c),往右拉。

05offset+match

offset+match函式,基本沒缺點就是複雜一點,c3輸入=offset(表1!$a$1,match($b3,表1!$b:$b,0)-1,match(c$2,表1!$2:$2,0)-1),右拉。

06index+match

offset+match函式,缺點還是複雜,c3輸入=index(表1!$a$1:$i$14,match($b3,表1!$b:$b,0),match(c$2,表1!$2:$2,0)),右拉。

除了以上的辦法,還可以用vlookup+輔助列,用資料透析表等等,有個朋友說得很好,你習慣用什麼辦法就用什麼辦法,不用追求複雜,長函式,函式真的不是越長越好,能解決問題的辦法就是優秀的辦法。

雜湊表(雜湊表)及其實現

雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。例如 給定表m,存在函式f key 對任意給定的關鍵字值key,代入函...

雜湊表(雜湊表) C 實現

雜湊函式就是 關鍵字key 到 值value 的對映 value f key value反映的是關鍵字key的儲存位址。直接定址法 f key a key b 例如存放不同出生年份的人口數量,出生年份是關鍵字,那麼可以用直接定址法。直接定址法的優點是簡單均勻,也不會產生衝突 缺點是該方法適合表比較小...

Hash表(雜湊表 雜湊表)

雜湊函式 乙個把查詢表中的關鍵字對映成該關鍵字對應的位址的函式,記為hash key addr。位址可以是陣列下標,索引,或記憶體位址等 衝突 雜湊函式可能會把兩個和兩個以上的不同關鍵字對映到同一位址。衝突不可避免,所以要設計好的處理衝突的方法。同義詞 發生碰撞的不同關鍵字為同義詞。雜湊表 根據關鍵...