簡體   English   中英

如果相鄰單元格不為空,則復制單元格值

[英]copy cell value if adjacent cell is not empty

我有一張“旅行費用”表,其中來自不同貨幣的所有費用都通過googlefinance轉換為美元。 我需要將該金額復制到不同的單元格以形成月度報表,這樣如果貨幣匯率在一個月內發生顯着變化,我就會存儲正確的金額。

基本上,如果列U中的單元格不是空白=>將其復制到V中的相鄰單元格。

https://docs.google.com/spreadsheets/d/1iBIg8b4BuUyHiuvogePyRbOhQulp1rCtUMXHpN_YKuQ/edit#gid=1586216805

我使用以下scipt:1)時間戳(完美地工作)2)復制貨幣(工作,但不是我需要的)。

function onEdit(e)
{var ss = e.source.getActiveSheet();                                             
   if (ss.getName() != "123")      // i use this for testing 

{
 var actRng = ss.getActiveRange();                                           
 var editColumn = actRng.getColumn();                                        
 var rowIndex = actRng.getRowIndex();                                        
 var headers = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues();         
 var dateCol = headers[0].indexOf("Date of expence") + 1;                    
 var orderCol = headers[0].indexOf("Name") + 1;

 if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)                  
 {
  ss.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "UTC+8", "dd-MM-yy"));}
 }

{
var source = ss.getRange ("U3:U400");
source.copyTo (ss.getRange ("V3:V400"), {contentsOnly: true});}
}

我想這應該在2個不同的腳本中完成。 這是我第一次使用谷歌腳本,所以對我來說很困惑)

將接受所有建議,提前謝謝!)

嘗試這個:

on Edit(e) {
  if(!e.range.getSheet().getRange(e.range.rowStart,23).isBlank()) {
    e.range.getSheet().getRange(e.range.rowStart,24).setValue(e.range.getSheet().getRange(e.range.rowStart,23).getValue())
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM