我有一個Excel表格,其中包含具有開始日期,開始時間和結束時間的電話。我想找到一種方法來循環調用,以查看每次通話期間有多少電話中繼線正在使用。可能有更好的方法來檢查這一點,但這是我正在考慮使用的邏輯。循環通過Excel中的一系列單元格
在單元格C1中,我有本月第一次調用的開始時間。在D1中,我有該呼叫的結束時間。我知道在第一次通話開始時只有一條中繼線正在使用。我需要遍歷每個呼叫,以查看在當前檢查呼叫之前的任何呼叫的結束時間是否大於正在檢查的當前呼叫的開始時間。
因此,工作真的從第二行開始,並檢查C2(呼叫2的呼叫開始時間)是否爲<D1(呼叫1的結束時間)。
通過下一個循環將檢查是否C3 < D1然後檢查是否C3 < D2。如果任何檢查爲真,則稱爲Trunks(起始值爲1)的值將遞增1.一旦行檢查完成,中繼線將被寫入到與檢查的行對應的列E中。
下一個循環將檢查是否C4 < D1然後C4 < D2然後C4 < D3和中繼線的值寫至E4
接着就到C5等等,直到片材的端部。該表將從12,000行到15,000行。
這可以通過在VBA中的子?任何人都可以幫我寫這個子文件嗎?這裏是C1 - C11和D1 - D11的值。在下面的示例中,每行中的trunk值爲1,直到您到達第7行爲止,因爲第7行(6:10:05)中的呼叫開始時間小於第6行呼叫的結束時間( 6:10:59),這意味着兩個呼叫同時發生,所以中繼線將等於2.
C1 2:44:00 AM D1 2:45:08 AM
C2 3:30:15 AM D2 3:33:10 AM
C3 4:02:50 AM D3 4:04:12 AM
C4 4:48:15 AM D4 4:48:32 AM
C5 6:02:25 AM D5 6:03:57 AM
C6 6:08:54 AM D6 6:10:59 AM
C7 6:10:05 AM D7 6:10:34 AM
C8 6:10:05 AM D8 6:10:41 AM
C9 6:23:30 AM D9 6:29:07 AM
C10 6:36:28 AM D10 6:39:54 AM
C11 7:16:56 AM D11 7:24:56 AM
在此先感謝!
'誰能幫我寫這個子文件嗎?'呃,它不能在這裏工作:)所以你需要付出一些努力,然後告訴我們你試過了什麼,然後我們幫助你:)詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,爲什麼他們沒有工作,以及預期的結果。另請參閱:[堆棧溢出問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) –
我嘗試使用excel中的幾個函數,包括countif和if語句,但我不能循環遍歷單元格範圍並將它們與另一個單元格中的值進行比較。我相當確信它需要在VBA中完成,但我不知道如何開始VBA代碼。我知道如何到Excel中的VBA,但我不確定這是一個子程序還是一個函數。對於比VBA更熟悉VBA的人來說,這可能相當簡單。如果您不能發送代碼來執行此操作,有人可能會指向一些VBA代碼,這些代碼將循環通過單元格C2 - C100,然後將其與D1 - D99進行比較? – user2933813
我不確定它還需要VBA。你可以使用內置的公式做一些非常瘋狂的事情。 – digitlworld