excel - 计算两个单元格之间的路线,区分“陆地”和“水”单元格
问题描述
我正在使用 Excel 和 VBA 进行 D&D,并制作了一张在不同单元格之间分离资源的世界地图。我用它来计算城镇和资源之间的距离,这样我就可以计算出每磅资源的价格。
为了找到两点(资源和城镇)之间的距离,我使用这个公式:
=SQRT(([@ROW]-$C$2)^2+([@COLUMN]-$D$2)^2)
这将使用列和行的差异作为三角形的另一侧来找到两点之间的斜边。
但是,我需要更进一步,并且有办法判断斜边是穿过水砖还是穿过陆地。
解决方案
您需要一个函数来为您提供沿斜边的单元格列表。然后你测试每个细胞,看看它是陆地还是水。
步骤 1:确定垂直或水平的最大距离
第 2 步:用最小距离除以最大距离。这个比率是你在最小方向上移动的距离对于最大的每个单位。
第 3 步:为最大距离执行 for 循环 x 到 y 步骤 1。对于循环的每次迭代,累积地添加从 2 到最小起始位置的比率。从当前最大的单元格参考加上开始的(整数+1)部分加上最短方向的累积移动距离。
推荐阅读
- json - 如何导出多个 STIX2 捆绑包?
- python - 在 QComboBox 激活时获取上一个和新选择的项目
- ios - UITableview 粘性标题未在 iPhone X 上正确呈现
- variables - 如何在clojure宏中绑定var的名称和值?
- azure - 如何使用 AzureADGraph 或 Microsoft Graph 为 AZURE AD B2C 中的用户生成访问令牌?
- lotus-notes - 如何通过点击 Lotus Notes 邮件主题打开网站链接?
- ajax - 如何在 laravel 5.2 中控制多个 ajax 请求
- android - app:compileDebugJavaWithJavac 删除包后
- r - 将因子更改为 R 中的日期时间
- javascript - 滚动页面时如何在屏幕上显示固定的引导模式?