首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google电子表格

Google电子表格
EN

Stack Overflow用户
提问于 2015-01-15 19:47:28
回答 1查看 359关注 0票数 0

Google电子表格

我在找一种编辑单元格内容的方法。我已经在电子表格服务文档上搜索过了,但是没有发现什么能帮助我完成我想要完成的事情。

我想做的是操纵一个单元格的内容。这方面的一个例子是:

  • 单元格A1包含"1PM - 5PM“
  • 我想把A1分成两个单元,比如B1是"1PM“,C1是"5PM”
  • 然后,我想将单元格B1和C1改为军事时间。最后,B1是13:00,C1是17:00)

任何帮助都是非常感谢的!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-06-09 21:02:05

下面示例的每个部分都可以更简洁、高效、优雅和自适应地完成--这确实不是很好的代码--但我希望尽可能清楚地说明组件是如何工作的。

首先,这里有一个过度简化的函数,可以将小时转换为24小时格式。我不建议你使用这个,因为它只适用于按你写的格式格式化的小时时间,例如“下午3点”或“凌晨2点”-“下午2点30分”根本不起作用。要获得更复杂的时间转换,请查看以下答案:将12小时hh:mm AM/PM转换为24小时hh:mm

代码语言:javascript
复制
function oversimplified_time_format_converter(input){
  if(input.indexOf("PM")!==-1){
    var hour = 12 + (input.substring(0,input.indexOf("PM"))*1)
    if(hour>24){hour-=24}
  } else {
    var hour = input.substring(0,input.indexOf("AM"))
    }
  return hour
  }

接下来,这里有一个函数来执行您提到的任务,它使用了上面提到的过度简化的时间格式转换器函数。

代码语言:javascript
复制
function yourFunction() {

  //First, locate your data:
  var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheet/yourspreadsheetURL").getSheetByName("YourSheetName")
  var cell = sheet.getRange("A1")
  var cell_contents = cell.getValue() //The cell contents will be "1PM -5PM"

  //Next, locate the cells where the results will go
  var first_cell_to_the_right = cell.offset(0,1) //This is cell B1
  var second_cell_to_the_right = cell.offset(0,2) //This is cell C1

  //Next, get the text, split it into separate strings
  var first_part = cell_contents.substring(0,cell_contents.indexOf(" - ")) //This will be "1PM"
  var second_part = cell_contents.substring(cell_contents.indexOf(" - ")+3) //This will be "5PM"

  //Now convert to 24-hour time format:
  first_part = oversimplified_time_format_converter(first_part)
  second_part = oversimplified_time_format_converter(second_part)

  //Now write the results to your spreadsheet
  first_cell_to_the_right.setValue(first_part) //Set value of B1 to "1PM"
  second_cell_to_the_right.setValue(second_part) //Set value of C1 to "5PM"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27971780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档