Microsoft Excel - 根據多個條件從不同工作表複製整行

Microsoft Excel - 根據多個條件從不同工作表複製整行

好吧,我已經嘗試找到這個答案有一段時間了,但我無法完全使用公式來得到它,因為它需要的內容超出了公式欄所能容納的範圍,而且我對宏的經驗為零。

規則:

規則 1. Fox/Golf/Hotel!

規則 1a。 Fox!A36:A37 和 Fox!A39:A40 永遠不會成為約會對象

規則 1a.1。 Fox!A36 將是“Super-1-16”,Fox!A37 將是“Super-17-31”

規則 1a.2。 Fox!A39 將是“主要”,Fox!A40 將是“額外”

規則 1b。高爾夫/酒店!

規則 1b.1。高爾夫/酒店!

規則 2. Alpha/Bravo/Charlie/Delta 上的相應日期!可以是任何儲存格 B3:B400

規則 3.「位置」是「Alpha/Bravo/Charlie/Delta!A3:A400」中的變體,但對於「Fox/Golf/Hotel!」總是常數。細胞(常數見下文)。

規則 3a。狐狸! 「職位」名稱:

  1. B2="OOD" 並且應涵蓋 C4:G34。
  2. I2="AOOD" 並且應涵蓋 J4:M34。
  3. O2="DD" 並且應覆蓋 P4:S34。
  4. A35="OOD SUPERNUMERARY" 並且應涵蓋 C36:G37。
  5. A38="CDO" 並且應覆蓋 C39:G40。
  6. I35="ADNCO SUPERNUMERARY" 並且應覆蓋 J36:J37。
  7. O35="DD SUPERNUMERARY" 並且應覆蓋 P36:S37。

規則 3b。高爾夫/酒店! 「職位」名稱:

  1. B2="DNCO" 並且應覆蓋 C4:F34。
  2. H2="ADNCO" 並且應覆蓋 I4:L34。
  3. N2=“Rover 1”並且應該覆蓋 O4:R34。
  4. T2=“Rover 2”並且應覆蓋 U4:X34。
  5. A35="DNCO SUPERNUMERARY" 並且應覆蓋 C36:F37。
  6. H35="ADNCO SUPERNUMRARY" 並且應覆蓋 C39:L40。
  7. N35="ROVER 1 SUPERNUMRARY" 並且應覆蓋 J36:R37。
  8. T35="ROVER 2 SUPERNUMRARY" 並且應覆蓋 P36:X37。

規則 4. 下列儲存格應指示從哪個工作表資訊複製:

規則 4a。 Fox!

規則 4a.1。 B4:B34(如果 Fox!B4=“A”、Fox!B2=Alpha!A136 且 Alpha!B136=“5 月 1 日”,則 Fox!C4:G4 = Alpha!C136:G136)。

規則 4a.2。 I4:I34(如果 Fox!I7=“D”、Fox!I2=Delta!A98 且 Delta!B98=“5 月 4 日”,則 Fox!J4:M4 = Delta!C98:F98)。

規則 4a.3。 O4:O34。

規則 4a.4。 B36:B37(若 Fox!B36="C"、Fox!A35=Charlie!A250 與 Charlie!B250="5 月 1-16 日",則 Fox!C36:G36 = Charlie!C250:G250)。

規則 4a.5。 B39:B40(如果 Fox!B40="B"、Fox!A38=Bravo!A123 和 Bravo!B123="Supernumerary",則 Fox!C40:G40 = Bravo!C123:G250)。

規則 4a.6。 I36:I37。

規則 4a.7。 O36:O37。

規則 4b。高爾夫/酒店!

規則 4b.1。 B4:B34。

規則 4b.2。 H4:H34。

規則 4b.3。 N4:N34。

規則 4b.4。 T4:T34。

規則 4b.5。 B36:B37。

規則 4b.6。 H39:H40。

規則 4b.7。 N36:N37。

規則 4b.8。 T36:T37。

我需要將單元格從“Alpha/Bravo/Charlie/Delta!B3:G400”複製到“Fox/Golf/Hotel!”中的相應單元格基於福克斯/高爾夫/酒店!日期(福克斯/高爾夫/酒店!A4:A40)和規則 3 中設定的「位置」欄位。

編輯以希望使請求不那麼混亂:

這是我負責的每月名冊,只是想讓每個參與者都更容易。

床單《福斯!對應於我們擁有的特定建築物以及 Sheets Alpha!、Bravo!、Charlie 和 Delta!對應我們的部分。

福克斯/高爾夫/酒店!透過從 Alpha/Bravo/Charlie/Delta 提取資訊來填充!我希望將其自動化,這樣我們就不必每個月都進行複製和貼上。

我試圖制定一個公式,但嵌套許多 IFAND 不適合。

我知道上面有很多信息,但我會盡力總結。

對於床單狐!

步驟1.我需要使用儲存格B4:B34 來確定從哪個工作表中提取資訊(如果B4=A 從工作表Alpha 中提取資訊!如果B4=B 從工作表Bravo 中提取資訊!如果B4=C 從工作表Charlie 中提取資訊!

步驟 2. 確定工作表後,我需要使用儲存格 B2 在 Alpha/Bravo/Charlie/Delta!A3:A400 上找到符合項目。

步驟 3. 找到符合項目後,我需要使用儲存格 A4:A34 在 Alpha/Bravo/Charlie/Delta!B3:B400 上找到符合項

步驟 4. 在同一行找到兩個符合項目後,我需要複製儲存格 Alpha/Bravo/Charlie/Delta!C3:G400。

狐狸的例子!具體來說:

範例 1. 如果 Fox!B4=“A”,且 Fox!B2=Alpha!A136,且 Alpha!B136=“5 月 1 日”,則 Fox!C4:G4 = Alpha!C136:G136。

例 2. 如果 Fox!B4="B",且 Fox!B2=Bravo!A136,且 Bravo!B136="5 月 1 日",則 Fox!C4:G4 = Bravo!C136:G136。

例 3. 如果 Fox!B4="C",且 Fox!B2=Charlie!A136,且 Charlie!B136="May 1",則 Fox!C4:G4 = Charlie!C136:G136。

範例 4. 如果 Fox!B4="D",且 Fox!B2=Delta!A136,且 Delta!B136="5 月 1 日",則 Fox!C4:G4 = Delta!C136:G136。

高爾夫/酒店範例!具體來說:

範例 1. 如果 Golf!B4="A",且 Golf!B2=Alpha!A136,且 Alpha!B136="May 1",則 Golf!C4:F4 = Alpha!C136:F136。

範例 2. 如果 Hotel!B4="B",且 Hotel!B2=Bravo!A136,且 Bravo!B136="May 1",則 Golf!C4:F4 = Bravo!C136:F136。

範例 3. 如果 Golf!B4="C",且 Golf!B2=Charlie!A136,且 Charlie!B136="May 1",則 Golf!C4:F4 = Charlie!C136:F136。

範例 4. 如果 Hotel!B4="D",且 Hotel!B2=Delta!A136,且 Delta!B136="5 月 1 日”,則 Hotel!C4:F4 = Delta!C136:F136。

每個單獨的範例都很容易做到,但我需要所有 4 個範例在對應頁面的每個儲存格中都處於活動狀態。

答案1

無意冒犯,夥計,但這是有史以​​來最糟糕的措辭問題!還有,格式化!

TL;DR,這就是我認為你需要的

將其放入 C4 中,它將把 A 到 D 翻譯為工作表名稱。

=CHOOSE(CODE(B4)-CODE("A")+1,"Alpha!","Bravo!","Charlie!","Delta!")

現在在 D4 中,我們將計算您選擇的工作表中發生 B2 匹配的索引或行號

=MATCH($B$2$, INDIRECT(C4 & "A3:A400"),0)

現在,在 E4 中,如果 A4 與 B 列匹配,我們將連結到另一張表中的值:另一張表中的索引 D4

=IF(A4 = INDEX(INDIRECT(C4 & "B3:B400"),D4), *link to cells in C to G cells*, *return blanks*)

所以最後將其作為數組公式放入 E4:I4(選擇 E4 到 I4,按 F2,貼上下面的公式,然後按 CTRL+SHIFT+ENTER - 僅輸入將不起作用)。單一陣列公式現在將佔用 E4:I4 中的多個儲存格:(請注意,在 Office 365 中,您只能在 E4 中輸入公式,它將溢出到 I4 中)

=IF(A4 = INDEX(INDIRECT(C4 & "B3:B400"),D4), INDEX(INDIRECT(C4 & "C3:C400"),D4):INDEX(INDIRECT(C4 & "G3:G400"),D4), "")

相關內容