Board logo

標題: 該用VLOOK還是COUNTIF?? [打印本頁]

作者: inhogold    時間: 2014-8-5 01:47     標題: 相對應的問題,該用VLOOK嗎?COUNTIF嗎?

如圖~~該如何當在左邊輸入正班情況下,
                                   右邊直式表格那正班後面可顯示當班名呢?
麻煩各位大大請賜教~~
作者: inhogold    時間: 2014-8-5 01:54     標題: 該用VLOOK還是COUNTIF??

[attach]18825[/attach]

請問一下,該如何在左邊橫式排班表輸入正班副班情況下,
在右邊直式正班副班想對應班次下會自動顯示人名?
麻煩各位大大了!!@@"
作者: inhogold    時間: 2014-8-5 02:01

對不起,補個檔案
作者: tku0216    時間: 2014-8-5 17:24

回復 1# inhogold


你的圖哩?
作者: tku0216    時間: 2014-8-5 17:58

回復 2# inhogold
完成如附件,在左邊表格輸入"正班、副班、晚班、早班",右邊表格會出現相對應的人名~
[attach]18832[/attach]
作者: Cyssuc    時間: 2014-8-5 20:42

因為不能載檔案 只能給您將就看

用VLOOKUP(A,B,C) OR HLOOKUP(A,B,C)

A=C3儲存格,給輸入者輸入的資料

B=選取資料庫範圍

C=當尋找到A值,要回傳資料庫中A值
得左邊第幾個位子
或
A值下方第幾的位子
=VLOOKUP(A1,Z1:ZA20,3)

意思是說
水平尋找 Z1到Z30 中A1之值
當找到後 回傳左邊第一個欄為公式如下=VLOOKUP(A1,Z1:ZA20,2)
當找到後 回傳左邊第二個欄為公式如下=VLOOKUP(A1,Z1:ZA20,3)
希望你懂
作者: inhogold    時間: 2014-8-5 23:59

對不起 tku0216大,我不行下載喔!!
我還是小嫩嫩 @@" sorry
作者: inhogold    時間: 2014-8-6 00:28

Cyssuc 你的我不是很懂,可以用圖示嗎?
新手....請多包涵!! 感恩!!
作者: Hsieh    時間: 2014-8-6 10:01

回復 3# inhogold

H1公式
=INDEX($A$2:$A$5,MATCH(G1,INDEX($B$2:$D$5,,MATCH(OFFSET(F1,-MOD(ROW()-1,4),),$B$1:$D$1,0)),0),)
向下複製
作者: tku0216    時間: 2014-8-6 14:43

回復 8# inhogold

下圖供參考,僅將游標選在H1儲存格,顯示8/1的公式,8/2與8/3可自己試試~
[attach]18837[/attach]
作者: inhogold    時間: 2014-8-6 22:26

回復 9# Hsieh


    謝謝Hsieh大,你的我試出來ㄌ,感謝你:)
作者: inhogold    時間: 2014-8-6 22:30

回復 10# tku0216


    tku0261大,你的我試了.可是8月1日試不出來.
    可以幫我看看哪邊有誤嗎?
    @@"再次麻煩了
作者: inhogold    時間: 2014-8-7 06:12

回復 9# Hsieh

Hsieh大,不好意思.照Hsieh大你輸入後.我是跨工作表做.但回傳不出來......
@@"可以幫我看看哪邊有誤嗎......再次麻煩!!
作者: tku0216    時間: 2014-8-7 09:26

本帖最後由 tku0216 於 2014-8-7 09:29 編輯

回復 12# inhogold

因為我有先將8/1~8/3,以頂端列建立範圍名稱(選取B1~D5儲存格,使用公式→從選取範圍建立→勾選"頂端列"),而我的公式"OFFSET($A$1,MATCH(G1,_8月1日,0),0)",裡面的"_8月1日"是用範圍名稱帶出來的,不是用打的。
[attach]18851[/attach]

建立完之後,就正確了。
[attach]18852[/attach]
作者: Hsieh    時間: 2014-8-7 10:06

回復 13# inhogold
兩表班別不同?
為何直式表格有正班1、副班1、晚班1、早班1?
C2=INDEX(橫式排班表!$E:$E,MATCH(直式排班表!$D2,INDEX(橫式排班表!$A:$L,,MATCH(OFFSET($B2,-MOD(ROW()-2,8),),橫式排班表!$1:$1,0)),0),)
未出現班別會出現錯誤
作者: scjiao    時間: 2014-8-7 21:56

謝謝大大,受教了,又學習到一課
作者: inhogold    時間: 2014-8-8 23:27

回復 14# tku0216


    對不起tku0216大,
    你提到的(選取B1~D5儲存格,使用公式→從選取範圍建立→勾選"頂端列")途徑在哪選取呀?
    麻煩了...
作者: inhogold    時間: 2014-8-11 23:46

回復 15# Hsieh
對不起Hsieh大,在你所提及的
C2=INDEX(橫式排班表!$E:$E,MATCH(直式排班表!$D2,INDEX(橫式排班表!$A:$L,,MATCH(OFFSET($B2,-MOD(ROW()-2,8),),橫式排班表!$1:$1,0)),0),)

裡面MATCH(OFFSET($B2,-MOD(ROW()-2,8),),橫式排班表!$1:$1,0)),0),)是甚麼意思呢??
可否解惑一下?再次感謝
作者: Hsieh    時間: 2014-8-12 14:24

回復 18# inhogold
MATCH(OFFSET($B2,-MOD(ROW()-2,8),),橫式排班表!$1:$1,0)
為了在橫式表格找到與B2相同值的位置,使用MATCH函數
紅字部分為MATCH的第一個參數
因為你B欄的編組數字是每8格才使用一個數值
所以當公式下拉時要得到公式位置相對應的數值
就是由該列向上位移量來取得
作者: inhogold    時間: 2014-8-12 22:41

回復 19# Hsieh


    喔...了解,那-2是甚麼意思呢?
    麻煩ㄌ Hsieh大
作者: Hsieh    時間: 2014-8-13 10:03

回復 20# inhogold

MOD(ROW()-2,8)
就是列位減2除以8的餘數
因為是從第2列開始,列位即為2,3,4,5,6,7,8,9,10.....
減2以後成為0,1,2,3,4,5,6,7,8.....
除以8的餘數就為0,1,2,3,4,5,6,7,0,1,2.....
0~7的循環
作者: inhogold    時間: 2014-8-13 23:07

回復 21# Hsieh

謝謝Hsieh大的解惑,也就是說我如果要每日再多一種班次,就變9囉?
有一一點了解,再次感謝你.
作者: ML089    時間: 2014-8-13 23:13

回復 13# inhogold

13樓檔案
直式排班表 C2 公式
=LOOKUP("��",IF({1,0},"",LOOKUP(,0/(INDEX(橫式排班表!A$3:L$6,,MATCH(RIGHT(LOOKUP("��",A$2:A2)),橫式排班表!$2:$2,))=D2),橫式排班表!E$3:E$6)))
下拉複製
作者: inhogold    時間: 2014-8-18 22:44

回復 23# ML089
ML089大,請教一下..."��"是甚麼意思??
作者: ML089    時間: 2014-8-18 23:57

回復 24# inhogold

"��"再BIG5碼(63964)中接近最大值,常與LOOKUP搭配用來尋找範圍內最後一個文字項

也有人喜歡用3隻龍(龘ㄊㄚˋ)BIG5碼(63957)
作者: inhogold    時間: 2014-8-20 06:56

回復 25# ML089
原來還有這招,又學到一招,謝謝ML089大
那ML089大,BIG5碼(63964)中接近最大值的意思是.......列數最大值的意思嗎?
再次請教,感恩~~
作者: ML089    時間: 2014-8-20 07:30

回復 26# inhogold

回復 25# ML089
原來還有這招,又學到一招,謝謝ML089大
那ML089大,BIG5碼(63964)中接近最大值的意思是.......列數最大值的意思嗎?
再次請教,感恩~~


與列數無關
這是LOOKUP的使用特性
作者: inhogold    時間: 2014-8-21 07:15

回復 27# ML089
謝謝ML089大,原來是這樣,我誤會了
感謝指教
作者: inhogold    時間: 2014-9-22 21:41

回復 21# Hsieh

[attach]19199[/attach]

Hsieh大,這邊按照你給的函數....後面是不成公式的.....可以麻煩一下嗎? @@"感恩!!
作者: Hsieh    時間: 2014-9-23 09:11

回復 29# inhogold
日期的尋找改用LOOKUP找到對應日期,這樣就不需計算列數出錯
直式排班表C2=INDEX(橫式排班表!$E:$E,MATCH(D2,INDEX(橫式排班表!$A$1:$AJ$57,,MATCH(LOOKUP(40,B$2:B2),橫式排班表!$1:$1,0)),0),)
作者: inhogold    時間: 2014-9-24 23:12

回復 30# Hsieh

謝謝Hsieh大的指導,可以請問一下那數字40是甚麼意思呀???
因為公司用的是封閉式網路.....我畫葫蘆的輸入進去....可是他顯示 #N/A 點Excel說明進去看,可能的原因有很多種...
我是不是少做了甚麼步驟???
再次麻煩了.....感恩!!
作者: Hsieh    時間: 2014-9-25 10:43

本帖最後由 Hsieh 於 2014-9-25 10:48 編輯

回復 31# inhogold

LOOKUP函數特性
要尋找最後一個數值,就使用數列中最大值以上的值來做搜尋目標
因為日期最大是31只要是超過31的數值作搜尋目標就可以,並非一定要用40
[attach]19230[/attach]
作者: inhogold    時間: 2014-9-30 07:00

回復 32# Hsieh

謝謝Hsieh大的指導,我在試試~~感謝你




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