【求救Excel】有每堂課的時間,要自動製作課表一周一覽表

不好意思,想請教問題如下↓↓

我有每一堂課的星期幾、第幾堂課上課時間,

我想問是否可以依據「星期幾、第幾堂課上課時間」,然後將那一堂課程名稱自動填入課表一周一覽表,但是資料可能會有衝堂,希望衝堂的課程在同一個儲存格可以統統秀出,這樣就可以知道那些課有衝堂的情況~

《每一堂課的星期幾、第幾堂課上課時間》

中文課 星期二 2 3 4

會計課 星期二 2 3 4

經濟課 星期三 1 2 3

微積分 星期四 5 6 9

專題課 星期六 4 5

管理課 星期四 8 9 10

《課表一周一覽表》

星期一 星期二 星期三 星期四 星期五 星期六

1

2

3

4

5

6

7

8

煩請各位大大幫忙,非常謝謝~

Update:

希望若有有更改課堂上課時間的話,課表一周一覽表》也可以一起更動,不知道有沒有大大可以幫忙解決呢...

Update 2:

非常謝謝EXCEL迷與寧靜大河大大,謝謝~

2 Answers

Rating
  • 7 years ago
    Favorite Answer

    圖例:http://ypix.me/YIAl/

    檔案:http://www.funp.net/788940

    2013-05-31 13:15:06 補充:

    E迷大:

    公式很單純沒有重複交雜的資料比對(...矩陣?我沒想那麼多耶 ^^"),

    只是利用「代名詞」的方式將公式縮減寫出而已(EXCEL裡稱為定義名稱) ~

    原來公式要使用一種科目一句 IF 判斷式,

    但科目超過七種,IF 函數就不能使用了,

    於是採用定義名稱的方式來跳脫限制。

    CONCATENATE 函數其實也可省略(內容限制30個),

    公式會更簡單 =xx課堂&xx課堂&xx課堂&.........

    只要儲存格絕對位址($)符號應用正確,將定義名稱放在對的位置上,

    公式也就成立了

    2013-05-31 23:02:23 補充:

    《原始課程表圖例》

    圖片參考:http://imgcld.yimg.com/8/n/AB00319914/o/2013053122...

    一、針對每項科目各自設立定義名稱 ( Ctrl + F3 打開名稱管理員建立 ),

    以及〔參照到〕編輯列填入公式:

    中文課堂 = IF(AND($K$2=B$1,SUMIF($L$2:$N$2,$A2)>0),$J$2,"")

    會計課堂 = IF(AND($K$3=B$1,SUMIF($L$3:$N$3,$A2)>0),$J$3,"")

    經濟課堂 = IF(AND($K$4=B$1,SUMIF($L$4:$N$4,$A2)>0),$J$4,"")

    微積分課堂 = IF(AND($K$5=B$1,SUMIF($L$5:$N$5,$A2)>0),$J$5,"")

    專題課堂 = IF(AND($K$6=B$1,SUMIF($L$6:$N$6,$A2)>0),$J$6,"")

    管理課堂 = IF(AND($K$7=B$1,SUMIF($L$7:$N$7,$A2)>0),$J$7,"")

    《定義名稱圖例》

    圖片參考:http://imgcld.yimg.com/8/n/AB00319914/o/2013053122...

    二、B2 使用 CONCATENATE 字串連結函數將所有定義名稱運算式結果連結在一起完成表格:

    =CONCATENATE(中文課堂,會計課堂,經濟課堂,微積分課堂,專題課堂,管理課堂)

    或者定義名稱公式已完整做出結果顯示判斷,也可免用 CONCATENATE 函數:

    =中文課堂&會計課堂&經濟課堂&微積分課堂&專題課堂&管理課堂

    《結果表格圖例》

    圖片參考:http://imgcld.yimg.com/8/n/AB00319914/o/2013053122...

    三、公式應用說明:

    因科目、課堂數仍會陸續增加,倘若直接將所有科目判斷公式串聯合併,可能會:

    1.公式繁長檢視困難

    2.超出相同函數使用次數限制

    如此將使公式不能完全達成,因此採用定義名稱方式可有效改善此問題。

    • Commenter avatarLogin to reply the answers
  • 7 years ago

    C3:H12{=INDEX($J:$J,MIN(IF(($L$3:$N$8=$B3)*($K$3:$K$8=C$2),ROW($K$3:$K$8),99)))&""&IF(SUM(($L$3:$N$8=$B3)*($K$3:$K$8=C$2))>1,"**","")J3:N8原始資料 C3:H12程式 陣列公式 右拉五格再下拉 C2:H2星期一~星期六 B3:B12(1~10) 歡迎至 YAHOO EXCEL迷 部落格指教 編號 (287)

    2013-05-30 15:05:02 補充:

    更正001 歡迎至 YAHOO EXCEL迷 部落格指教 編號 (289)

    2013-05-31 10:09:08 補充:

    康大 這招第一次看到 應比矩陣好用 邏輯是否為傳到一邊處理後再傳回所須結果

    值得學習 可否賜教

    2013-05-31 17:53:52 補充:

    感謝 寧靜大詳細解說 受益良多

    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.