本帖最后由 slimay 于 2021-8-8 15:26 编辑
解法零:WPS函数法 也只用2秒
在明细中构造 列并 G列=A2&":"&E2&":"&F2, 行号 H列 = ROW(A2)下拉扩展所有行
然后使用vlookup直接检索列并 G列的内容 = VLOOKUP("YT5692687908699:无锡中心:下车扫描", 明细!G:H,2,FALSE)
返回的就是行号. 通过构造列并, 将查询耗时缩短到 2秒左右.亲测6万行只需1秒左右- 查询订单号 查询集散地 查询扫描状态
- YT5692687908699 无锡中心 下车扫描
-
- 查询结果(列并) 查询到的行号
- YT5692687908699:无锡中心:下车扫描 11
复制代码 解法一: C语言 20万行 0.01秒实测
这种问题,不用C,你很难做到毫秒级解决问题- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
-
- #define LINE_SIZE 1024
-
- char* yundanSN = "YT5692687908699";
- char* yundanAddress = "无锡中心";
- char* yundanState = "下车扫描";
- int main( int argc, char** argv )
- {
- if(argc != 2)
- {
- printf("Usage: argv[0] \"*.csv\"\n");
- exit(1);
- }
-
- FILE* fp = fopen(argv[1], "rb");
- if(fp == NULL)
- {
- printf("%s\n", "Error list file.");
- exit(1);
- }
-
- char line[LINE_SIZE + 1];
- line[0] = 0x00;
- int lineNum = 0;
- while(! feof(fp))
- {
- lineNum ++;
- fgets(line, LINE_SIZE, fp);
- if(strstr(line, yundanSN) && strstr(line, yundanAddress) && strstr(line, yundanState))
- {
- printf("SN:%s, LINE_SN:%d\n", yundanSN, lineNum);
- break;
- }
-
- }
-
- fclose(fp);
-
-
- return 0;
- }
复制代码 解法二: 批处理 2万行 10秒实测
批处理搞定- @echo off
- setlocal enabledelayedexpansion
-
- set "查询运单编号=YT5692687908699"
- set "查询运单地址=无锡中心"
- set "查询运单状态=下车扫描"
-
-
- set 行号=0
- for /f "delims=, tokens=1-3" %%a in ('more +35 "%~f0"') do (
-
- set/a "行号+=1"
- if not defined #%%a (
- if "%%a"=="%查询运单编号%" (
- if "%%b"=="%查询运单地址%" (
- if "%%c"=="%查询运单状态%" (
- set "#%%a=!行号!"
- )
- )
-
- )
- )
- )
-
- echo 运单编号 行号
- for /f "tokens=1,2 delims=#=" %%a in ('set #') do (
- echo;%%a %%b
- )
-
- pause
-
-
-
- REM 数据粘贴区
- 运单号,操作时间,操作频次,操作网点编号,操作网点名称,操作名称
- YT5692687908699,2,3,4,广东省江门市,业务员收件
- YT5692687908699,2,3,4,广东省江门市,揽收扫描
- YT5692687908699,,,,广东省江门市,下车扫描
- YT5692687908699,,,,广东省江门市,装件入包扫描
- YT5692687908699,,,,广东省江门市,装件入车扫描
- YT5692687908699,,,,广东省江门市,发车扫描
- YT5692687908699,,,,江门中心,到车扫描
- YT5692687908699,,,,江门中心,下车扫描
- YT5692687908699,,,,江门中心,装件入车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,装件入车扫描
- YT5692687908699,,,,新区春潮一部,下车扫描
- YT5692687908699,,,,经济开发区,下车扫描
- YT5692687908699,,,,经济开发区,装件入车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,装件入车扫描
- YT5692687908699,,,,新区,下车扫描
- YT5692687908699,2,3,4,广东省江门市,业务员收件
- YT5692687908699,2,3,4,广东省江门市,揽收扫描
- YT5692687908699,,,,广东省江门市,下车扫描
- YT5692687908699,,,,广东省江门市,装件入包扫描
- YT5692687908699,,,,广东省江门市,装件入车扫描
- YT5692687908699,,,,广东省江门市,发车扫描
- YT5692687908699,,,,江门中心,到车扫描
- YT5692687908699,,,,江门中心,下车扫描
- YT5692687908699,,,,江门中心,装件入车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,装件入车扫描
- YT5692687908699,,,,新区春潮一部,下车扫描
- YT5692687908699,,,,经济开发区,下车扫描
- YT5692687908699,,,,经济开发区,装件入车扫描
- YT5692687908699,,,,无锡中心,下车扫描
- YT5692687908699,,,,无锡中心,装件入车扫描
- YT5692687908699,,,,新区,下车扫描
- YT5692687908699,2,3,4,广东省江门市,业务员收件
- YT5692687908699,2,3,4,广东省江门市,揽收扫描
- YT5692687908699,,,,广东省江门市,下车扫描
- YT5692687908699,,,,广东省江门市,装件入包扫描
- YT5692687908699,,,,广东省江门市,装件入车扫描
- YT5692687908699,,,,广东省江门市,发车扫描
- YT5692687908699,,,,江门中心,到车扫描
- YT5692687908699,,,,江门中心,下车扫描
复制代码
|