好的,我尝试寻找这个答案已经有一段时间了,但我无法通过公式来获得它,因为它需要的内容超出了公式栏可以容纳的范围,而且我对宏没有任何经验。
规则:
规则 1. Fox/Golf/Hotel!A4 始终为每月 1 号,A34 始终为每月 31 号(A33=30 号,A32=29 号(适用时),A31=28 号)
规则 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。高尔夫/酒店!A36:A37 永远不会是约会。
规则 1b.1。高尔夫/酒店!A36 将是“超级 1-16”,高尔夫/酒店!A37 将是“超级 17-31”
规则 2. Alpha/Bravo/Charlie/Delta! 上的对应日期可以是任何单元格 B3:B400
规则 3。“Position” 是“Alpha/Bravo/Charlie/Delta!A3:A400”中的一个变体,但对于“Fox/Golf/Hotel!”单元格来说,它始终是一个常量(有关常量,请参阅下文)。
规则 3a。狐狸!“位置”指定:
- B2="OOD" 并且应该覆盖 C4:G34。
- I2="AOOD" 并且应该覆盖 J4:M34。
- O2="DD" 并且应该覆盖 P4:S34。
- A35="OOD SUPERNUMERARY" 并且应该覆盖 C36:G37。
- A38="CDO" 并且应该覆盖 C39:G40。
- I35="ADNCO SUPERNUMERARY" 并且应该覆盖 J36:J37。
- O35="DD SUPERNUMERARY" 并且应该覆盖 P36:S37。
规则 3b。高尔夫/酒店!“位置”指定:
- B2="DNCO" 并且应该覆盖 C4:F34。
- H2="ADNCO" 并且应该覆盖 I4:L34。
- N2="Rover 1" 并且应该覆盖 O4:R34。
- T2="Rover 2" 并且应该覆盖 U4:X34。
- A35="DNCO SUPERNUMERARY" 并且应该覆盖 C36:F37。
- H35="ADNCO SUPERNUMRARY" 并且应覆盖 C39:L40。
- N35="ROVER 1 SUPERNUMRARY" 并且应该覆盖 J36:R37。
- T35="ROVER 2 SUPERNUMRARY" 并且应该覆盖 P36:X37。
规则 4. 以下单元格应指示从哪个工作表复制信息:
规则 4a。狐狸!(B 将指示 C:G。I 将指示 J:M。O 将指示 P:S)
规则 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="May 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。高尔夫/酒店!(B 将决定 C:F。H 将决定 I:L。N 将决定 O:R。T 将决定 U:X)
规则 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。
我需要根据 Fox/Golf/Hotel! 日期 (Fox/Golf/Hotel!A4:A40) 和规则 3 中设置的“位置”字段,将单元格从“Alpha/Bravo/Charlie/Delta!B3:G400”复制到“Fox/Golf/Hotel!”中的相应单元格。
进行编辑以使请求不那么令人困惑:
这是我负责的每月名册,只是想让所有参与者更容易理解。
Sheets Fox!、Golf! 和 Hotel! 对应于我们拥有的特定建筑物,而 Sheets Alpha!、Bravo!、Charlie 和 Delta! 对应于我们的部分。
Fox/Golf/Hotel!是通过从 Alpha/Bravo/Charlie/Delta!中提取信息来填写的。我希望实现自动化,这样我们就不必每个月都进行复制和粘贴。
我尝试创建一个公式,但是无法嵌套那么多 IFAND。
我知道上面有很多信息,但我会尽我所能进行总结。
对于床单狐狸!,
步骤 1. 我需要使用单元格 B4:B34 来确定从哪张工作表中提取信息(如果 B4=A,则从工作表 Alpha! 中提取。如果 B4=B,则从工作表 Bravo! 中提取。如果 B4=C,则从工作表 Charlie! 中提取。如果 B4=D,则从工作表 Delta! 中提取。)
第 2 步。确定工作表后,我需要使用单元格 B2 在 Alpha/Bravo/Charlie/Delta!A3:A400 上定位匹配项。
步骤 3. 找到匹配项后,我需要使用单元格 A4:A34 来定位 Alpha/Bravo/Charlie/Delta!B3:B400 上的匹配项
步骤 4. 一旦在同一行找到两个匹配项,我需要复制单元格 Alpha/Bravo/Charlie/Delta!C3:G400。
Fox! 的示例具体如下:
例 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="May 1",则 Fox!C4:G4 = Bravo!C136:G136。
示例 3. 如果 Fox!B4="C",且 Fox!B2=Charlie!A136,且 Charlie!B136="5 月 1 日",则 Fox!C4:G4 = Charlie!C136:G136。
例 4. 如果 Fox!B4="D", 且 Fox!B2=Delta!A136, 且 Delta!B136="May 1" 则 Fox!C4:G4 = Delta!C136:G136。
高尔夫/酒店的示例!具体如下:
示例 1. 如果 Golf!B4="A",且 Golf!B2=Alpha!A136,且 Alpha!B136="5 月 1 日",则 Golf!C4:F4 = Alpha!C136:F136。
示例 2. 如果 Hotel!B4="B",且 Hotel!B2=Bravo!A136,且 Bravo!B136="5 月 1 日",则 Golf!C4:F4 = Bravo!C136:F136。
示例 3.如果 Golf!B4="C",且 Golf!B2=Charlie!A136,且 Charlie!B136="5 月 1 日",则 Golf!C4:F4 = Charlie!C136:F136。
示例 4. 如果 Hotel!B4="D",且 Hotel!B2=Delta!A136,且 Delta!B136="May 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), "")