Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3965|回复: 13

[已解决]关于排序,同一列不能有重新名称

[复制链接]
发表于 2014-11-27 11:26 | 显示全部楼层 |阅读模式
”原始名单“,外贸名称和供应商名称对应。希望在“洽谈顺序表”中排除每个外贸名称的对应的客户名称,但是条件是同一轮不能有“供应商名称”重复。
最佳答案
2014-11-28 22:54
洽谈会顺序表3.rar (47.04 KB, 下载次数: 7)

洽谈会顺序表.zip

14.89 KB, 下载次数: 13

发表于 2014-11-27 12:20 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-11-27 12:21 | 显示全部楼层
dsmch 发表于 2014-11-27 12:20
如果有重复,应该怎么处理?

你指的是什么重复,哪里的

点评

但是条件是同一轮不能有“供应商名称”重复。这句话如何理解?  发表于 2014-11-27 12:28
回复

使用道具 举报

 楼主| 发表于 2014-11-27 12:33 | 显示全部楼层
dsmch 发表于 2014-11-27 12:20
如果有重复,应该怎么处理?

但是条件是同一轮不能有“供应商名称”重复。这句话如何理解?
这个最终排出来的结果,要求同一列(同一轮)不能有相同的“供应商名称”》
这个是要求,根据这个要求排出结果

点评

比如在顺序表c列,供应商名称能否相同?如相同该怎么处理?  发表于 2014-11-27 12:47
回复

使用道具 举报

 楼主| 发表于 2014-11-27 14:12 | 显示全部楼层
dsmch 发表于 2014-11-27 12:20
如果有重复,应该怎么处理?

比如在顺序表c列,供应商名称能否相同?如相同该怎么处理?
不同有供应商相同。相同的画就重新排,直到没有相同

点评

感觉问题矛盾,比如两家外商和一单位(仅此一个)洽谈,如何安排?这些撕扯不清,代码无从写起。  发表于 2014-11-28 04:50
回复

使用道具 举报

 楼主| 发表于 2014-11-28 08:26 | 显示全部楼层
dsmch 发表于 2014-11-27 12:20
如果有重复,应该怎么处理?

所以现在分成10轮(甚至跟多),使得同一个供应商在和多家外商洽谈的时候,可以错开。。每一轮就是不同时间,表示错开 的意思。现在最总的结果就是使得同一轮不能有相同的供应商。。。因为同一时间同一个供应商不可能和多家外商同时洽谈
回复

使用道具 举报

发表于 2014-11-28 17:18 | 显示全部楼层
Sub Click()
    Dim A(), B(), d As Object, i&, t$, s&, str$
    Set d = CreateObject("scripting.dictionary")
    A = Sheets(1).Range("a1").CurrentRegion.Value
    ReDim B(1 To UBound(A), 1 To 3)
    For i = 2 To UBound(A)
        t = A(i, 5)
        str = A(i, 1) & "," & A(i, 2) & "," & A(i, 3)
        If d.exists(t) Then
            B(s, 3) = B(s, 3) & "|" & str
        Else
            s = s + 1: d(t) = s
            B(s, 1) = A(i, 4)
            B(s, 2) = t
            B(s, 3) = str
        End If
    Next i
    With Sheets(2)
        .Select
        .Rows("2:65536").ClearContents
        .Range("A2").Resize(s, UBound(B, 2)) = B
        .Range("c2:c" & s).TextToColumns OtherChar:="|"
        .Range("a1").CurrentRegion.Replace ",", vbCrLf
    End With
End Sub
洽谈会顺序表2.rar (23.67 KB, 下载次数: 3)
回复

使用道具 举报

 楼主| 发表于 2014-11-28 22:08 | 显示全部楼层
爱疯 发表于 2014-11-28 17:18
Sub Click()
    Dim A(), B(), d As Object, i&, t$, s&, str$
    Set d = CreateObject("scripting.di ...

你这个根本就没有排序啊,只是把数据取出来
回复

使用道具 举报

发表于 2014-11-28 22:54 | 显示全部楼层    本楼为最佳答案   
洽谈会顺序表3.rar (47.04 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2014-11-29 21:49 | 显示全部楼层
爱疯 发表于 2014-11-28 22:54
这样?

这样是达到了我发帖的要求了。。。但是我想问下,如果保证中间不能有空格能排出来吗。。这样的话有些一定会重复了。。就是保证不能有空格的前提,尽量少的有重复出现,,这样是不是很复杂啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 12:29 , Processed in 0.372618 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表