V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SingeeKing
V2EX  ›  软件

如何利用 excel 并不使用 VBA 生成 1234 的所有可能的不重复组合结果

  •  
  •   SingeeKing · 2016-11-27 22:52:32 +08:00 · 3773 次点击
    这是一个创建于 2953 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT ,例

    折磨我好几个小时了。。求解

    9 条回复    2017-02-06 18:02:34 +08:00
    cdwyd
        1
    cdwyd  
       2016-11-27 23:22:20 +08:00 via Android
    可以在外面生成好然后粘贴进去
    vmebeh
        2
    vmebeh  
       2016-11-27 23:32:55 +08:00
    先生成几千条,再“删除重复项”
    lazyboy
        3
    lazyboy  
       2016-11-27 23:35:51 +08:00
    好简单
    将数字 1000 下拉至 5000 ,然后转换为文本格式,筛选包含文本 1 , 2 , 3 , 4 的单元格,最后分列就可以了

    考虑到筛选只能一次放两个条件,那就筛选 2 次,然后删除重复项就可以了
    Layne
        4
    Layne  
       2016-11-28 01:12:14 +08:00
    Excel for Mac 筛选的时候没有「包含文本」这个选项

    Layne
        5
    Layne  
       2016-11-28 01:20:03 +08:00
    又试了试, Excel 数字内容单元格转换为文本时,单元格左上角要有绿色三角形时,才是真正的文本,否则只是从数字默认的右对齐变成文本默认的左对齐,实质上还是按照数字在处理。

    当单元格左上角友绿色三角形时,筛选才有「包含」的选项。
    SingeeKing
        6
    SingeeKing  
    OP
       2016-11-29 19:37:59 +08:00
    @lazyboy 谢谢,再请问 1000 拉到 5000 有快速的方法吗?真的需要从上拉到下吗……
    lazyboy
        7
    lazyboy  
       2016-11-29 20:25:18 +08:00
    @SingeeKing  有时候直接双击那个下拉的十字号就可以了
    lhgtop
        8
    lhgtop  
       2017-02-06 17:49:43 +08:00
    用 excel 里的 Microsoft Query, 写 sql 语句,结果返回到 excel 里.
    lhgtop
        9
    lhgtop  
       2017-02-06 18:02:34 +08:00
    最简洁的方法:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SMALL(IF(MMULT(--ISNUMBER(FIND({1,2,3,4},ROW(1234:4321))),{1;1;1;1})=4,ROW(1234:4321)),COLUMN(A1)),1,$A$1),2,$B$1),3,$C$1),4,$D$1)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2803 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.