2012-05-25 26 views
10

Tôi hiện đang bước vào siêu liên kết trong một bảng tính Google theo hình thức:Google Custom Spreadsheet Chức năng Trả về một Hyperlink hoặc một công thức hiện

=HYPERLINK("http://jira.com/browse/ISSUE-12345","ISSUE-12345") 

Tôi sao chép "CẤP-12345" mỗi lần. Tôi muốn tạo một hàm JIRA (12345) cho kết quả tương tự như siêu liên kết ở trên. Có cách nào để trả về siêu liên kết trong tập lệnh hay không, chẳng hạn như

sẽ hoạt động?

Trả lời

-3

Không cần cho một chức năng kịch bản:

=HYPERLINK(CONCATENATE("http://jira.com/browse/ISSUE-",12345),CONCATENATE("ISSUE-",12345)) 

và nếu bạn có jiraNum của bạn trong một tế bào (ví dụ, A2), bạn có thể sử dụng các tham chiếu ô:

=HYPERLINK(CONCATENATE("http://jira.com/browse/ISSUE-",A2),CONCATENATE("ISSUE-",A2)) 
+0

Cảm ơn trả lời của bạn, nhưng tôi muốn biết làm thế nào để đạt được điều này với một chức năng kịch bản. Tôi không giữ số trong cột khác (và không có ý định). – user1417354

+1

Đó thậm chí còn nhập nhiều hơn; Cái cần là cái gì đó đơn giản; một hàm ngắn sao cho có thể chỉ cần nhập '= JIRA ("ISSUE-1234")' vào ô và có cùng một ô đó hoạt động như thể = HYPERLINK (url, văn bản) được nhập vào trong đó. Khi người ta phải làm điều này 400 lần, người ta sẽ đánh giá cao yêu cầu ... –

3

tôi vất vả với cùng, đã nộp feature request and received an interesting solution:

Áp dụng cho trường hợp của bạn những điều sau đây sẽ hoạt động.

function onEdit(e) { 
// limit to only apply to specific range 
    col = e.range.getColumn(); 
    row = e.range.getRow();   
    if (row > 1 && row < 10 && col == 1) { // A2:A9 
    if (e.value != "") 
     e.range.setFormula("=HYPERLINK(\"http://jira.com/browse/ISSUE-"+e.value+"\", \"ISSUE-"+e.value+"\")"); 
    } 
} 

Tôi coi đây là giải pháp thay thế nhưng hiện tại có lẽ đây là cách duy nhất để thực hiện.

+0

Tuyệt vời! Tôi chỉ phải thay thế "," giữa 2 tham số của công thức siêu liên kết bằng ";" Để làm cho nó hoạt động. – GeH

2

Check-out này: https://code.google.com/p/google-apps-script-issues/issues/detail?id=2521

Nó xuất hiện rằng tính năng này không có sẵn và sẽ không có sẵn.

Nếu bạn sẵn sàng bỏ qua trên màn hình hiển thị văn bản 'ISSUE-1234', bạn có thể ít nhất trả lại liên kết để có liên kết hoạt động.

function JIRA(jiraNum) { 
    var link = 'http://jira.com/browse/ISSUE-' + jiraNum; 
    return link; 
} 

Tôi hy vọng rằng sẽ giúp

1

Bạn có thể làm giảm bớt sự cần thiết phải setForumla và phải đối phó với các điều khoản, bằng cách thiết lập giá trị các tế bào như sau:

=HYPERLINK(getJiraTicketLink(12345), getJiraTicketLabel(12345)) 

nơi 12345 tất nhiên có thể là (ẩn cột-) ô lân cận thay vì chuỗi được mã cứng.

Sau đó, bạn tạo hai chức năng đơn giản giống như dưới đây:

var JIRA_BASE_URL = "http://jira.com/"; 
var JIRA_PROJECT_PREFIX = "ISSUE-"; 

function getJiraTicketLink(jiraNum) { 
    return JIRA_BASE_URL + "browse/" + JIRA_PROJECT_PREFIX + jiraNum; 
} 

function getJiraTicketLabel(jiraNum) { 
    return JIRA_PROJECT_PREFIX + jiraNum; 
} 
Các vấn đề liên quan