填报根据重复性自动编号

下图,根据列1出现的次数在列2自动编号,每次插入新行,编号都会自增长image.png

示例用的列一公式:=split("A,B,B,A,C,B,B,A,C,C",',')

这是我目前写的,希望能给出一些思考:if(isnull(A3),null,count(greparray(A3[!0],item==A3))),但是这个公式的问题在于,没有递减,显示的是对应字母总数

请仅使用公式完成。

FineReport PANDA 发布于 2024-4-11 13:50 (编辑于 2024-4-11 13:58)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
PANDALv3见习互助
发布于2024-4-11 16:01

自己写了个JS实现了,写的比较烂

function calc_count(arr) {   let counts = {};   let result = [];   for (let i = 0; i < arr.length; i++) {     counts[arr[i]] = counts[arr[i]] ? counts[arr[i]] + 1 : 1;     result.push(counts[arr[i]]);   }   return result; } function auto_seq(){     var rows = contentPane.curLGP.getTDRow(contentPane.curLGP.currentTDCell);     var nums = [];     for (let i = 1; i <= rows; i++) {         nums.push(_g().getCellValue("N" + i, null));     }     return {index:nums.indexOf("辅助1"),array:nums}; } function push_row(){     var {index:strow,array:nums} = auto_seq();     var newrows = calc_count(nums);     for(let i = 0;i<nums.length;i++){         if(i<=strow){ continue }         _g().setCellValue("O"+(i+1),null,newrows[i]);     } } push_row()

最佳回答
0
snrtuemcLv8专家互助
发布于2024-4-11 13:51(编辑于 2024-4-11 13:52)

你这个是模拟题?

  • PANDA PANDA(提问者) 这是我工作中遇到的问题,我简化了一下
    2024-04-11 13:52 
  • PANDA PANDA(提问者) 大佬,在数组加载后的生效,但是在填报新增的行是没用的...
    2024-04-11 14:05 
  • snrtuemc snrtuemc 回复 PANDA(提问者) 单元格设置插入行策略,原值
    2024-04-11 14:06 
  • PANDA PANDA(提问者) 回复 snrtuemc 设置过了,我发现刚插入的不生效,但是再点击一次新增行,它就生效了,怎么让它实时生效呢
    2024-04-11 14:08 
  • snrtuemc snrtuemc 回复 PANDA(提问者) 那是不支持的,只有新增行才会生效,这个类似层次函数
    2024-04-11 14:10 
最佳回答
0
掌上猪崽Lv5见习互助
发布于2024-4-11 13:54

SEQ(A2)

  • PANDA PANDA(提问者) 卧槽,往往最简单的却最容易被忽略!大佬!
    2024-04-11 14:00 
  • 2关注人数
  • 205浏览人数
  • 最后回答于:2024-4-11 16:01
    请选择关闭问题的原因
    确定 取消
    返回顶部