1

需要注意的是,我以前从未以如此高级的方式使用过Excel(实际上,我以前从未使用过任何功能......但我目前正在搜索有关Excel在线和VBA的教程,我在问在这里以防万一有人更好地知道使用哪个,以及如何有效地使用它们)。

我在A 列(也是句子)中给出 Excel 5 标题,在B 列中给出10 个句子 ,以随机生成3 个段落,每个段落使用1 个标题和 3 个句子

我该如何实现呢?我知道 Excel 有一个 RAND() 函数,但这似乎只适用于数字......

更多内容,如果我真的找到解决方案,我会更新。

4

2 回答 2

1

如果您的数据在第一张纸中A1:A5B1:B10那么类似这样的使用RANDBETWEEN

  Sub GetText()
Dim A
Dim B
A = Sheets(1).Range(Sheets(1).[a1], Sheets(1).[a5])
B = Sheets(1).Range(Sheets(1).[b1], Sheets(1).[b10])
MsgBox A(Application.RandBetween(1, UBound(A)), 1) & " " & B(Application.RandBetween(1, UBound(B)), 1)
End Sub
于 2013-07-23T05:33:53.183 回答
0

在单元格 C1 中输入:

=RANDBETWEEN(1;5)

in cell D1 put:
=RANDBETWEEN(1;10)

在单元格 E1 中输入:

=IF(D1=1;RANDBETWEEN(2;10);IF(D1=10;RANDBETWEEN(1;9);CHOOSE(RANDBETWEEN(1;2);RANDBETWEEN(1;D1-1);RANDBETWEEN(D1+1;10))))

在单元格 F1 中输入:

=IF(MAX(D1:E1)-MIN(D1:E1)=1;IF(MIN(D1:E1)=1;RANDBETWEEN(3;10);IF(MIN(D1:E1)=9;RANDBETWEEN(1;8);CHOOSE(RANDBETWEEN(1;2);RANDBETWEEN(1;MIN(D1:E1)-1);RANDBETWEEN(MAX(D1:E1)+1;10))));IF(MAX(D1:E1)-MIN(D1:E1)=9;RANDBETWEEN(2;9);IF(MIN(D1:E1)=1;CHOOSE(RANDBETWEEN(1;2);RANDBETWEEN(2;MAX(D1:E1)-1);RANDBETWEEN(MAX(D1:E1)+1;10));IF(MAX(D1:E1)=10;CHOOSE(RANDBETWEEN(1;2);RANDBETWEEN(1;MIN(D1:E1)-1);RANDBETWEEN(MIN(D1:E1)+1;9));CHOOSE(RANDBETWEEN(1;3);RANDBETWEEN(1;MIN(D1:E1)-1);RANDBETWEEN(MIN(D1:E1)+1;MAX(D1:E1)-1);RANDBETWEEN(MAX(D1:E1)+1;10))))))

在单元格 G1 中输入:

=CONCATENATE(INDIRECT("A" & C1);" "; INDIRECT("B" & D1); " ";INDIRECT("B" & E1);" ";INDIRECT("B" & F1))

复制单元格 C1:G1 并隐藏列 C:F

于 2013-07-23T05:22:56.400 回答