以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何取出俄罗斯方块中的数字?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189477)

--  作者:sloyy
--  发布时间:2023/12/4 16:29:00
--  如何取出俄罗斯方块中的数字?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:初始数据表.xlsx


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20231204162325.png
图片点击可在新窗口打开查看
一个电子表格种有几种图块,现在想把相连的同一种背景色的数字取出来排成一行,
难就难在背景色虽然相连,但不规则,就像一个个俄罗斯方块,背景色大概只有4种,犬牙交错;
有啥好办法吗?



[此贴子已经被作者于2023/12/4 16:29:57编辑过]

--  作者:y2287958
--  发布时间:2023/12/4 17:13:00
--  
无解
--  作者:有点蓝
--  发布时间:2023/12/4 17:19:00
--  
大概逻辑

0、创建一个集合A
1、从上到下从左到右遍历所有行,所有列
2、碰到有颜色的单元格,判断是否已经在集合A。如果是,则继续循环;如果否进行下一步
3、创建一个集合B,把集合B、当前单元格索引作为参数调用子函数
4、调用子函数完毕,把集合B记录的单元格值提取合并为字符串


子函数的处理
1)、把传入的单元格索引记录到集合A,同时记录到集合B
2)、根据索引判断,这个单元格右边,下边,左边逐个判断,如果【右边,下边,左边】单元格已经记录到集合A就不处理,如果没有记录,就判断是否和这个单元格是同样的颜色
3)、如果颜色相同,则递归调用子函数处理【右边,下边,左边】单元格
[此贴子已经被作者于2023/12/4 17:36:41编辑过]

--  作者:sloyy
--  发布时间:2023/12/4 18:50:00
--  
嗯,我也是用这个笨办法判断该数字是否属于这个集合的