使用 Excel 列创建表盘效果

使用 Excel 列创建表盘效果

我正在寻找一种方法来获取一列较小但任意长度的列并创建拨号效果。我希望能够将列向下移动任意量,然后当单元格超过设置的任意量时,单元格内容将返回顶部。

为便于说明,请参见这张拨号锁的图片。这基本上就是我想做的事情:

图片:

我正在尝试破解一个班级的密码,这会让事情变得容易得多。

不需要在 Excel 中。如果有可以做到这一点的 Web 应用程序,那就更好了,但是 Excel 易于操作,因此从头开始实现可能是最简单的。

答案1

我将描述如何实现像锁一样的拨号效果,如果您想破解密码,您应该遵循评论者的建议。

该解决方案的想法是将一串字母放在一个单元格中,表盘的每一行将提取一个字母MIDMOD将用于产生循环效果。

在单元格 A1 中插入字母串,第一行的其他单元格将用于获取表盘各列的位置。

通过功能区中的开发人员选项卡添加旋转按钮,并将它们中的每一个与第一行的一个单元格链接起来(表盘中的每一列都应该有一个旋转按钮,在下面的示例中,我在两个中选择了)。

在第一个表盘列的第一个单元格中输入以下公式:

=MID($A$1,1+MOD(C$1+ROW()-ROW($C$2),LEN($A$1)),1)

然后扩展到所需的列数和与 A1 中的字符数相同的行数。

工作原理:

  • MID($A$1,<N>,1)将从单元格 A1 中提取第 N 个字符
  • C$1+ROW()-ROW($C$2)获取表盘的位置
  • 1+MOD(<P>,LEN($A$1))如果大于 A1 中字符串的长度,则将位置循环到第一个

例子

相关内容