답변:
이 작은 스 니펫으로 그렇게 할 수 있습니다.
function isFormula(startcol, startrow) {
// prepare string
var str = String.fromCharCode(64 + startcol) + startrow;
// retrieve formula
var fCell = SpreadsheetApp.getActiveSpreadsheet()
.getRange(str).getFormula();
// return false if empty else true
return fCell ? true : false;
}
에서 이 대답 톰 우드는 인용 부호의 사용을 회피 할 수있는 방법을 발견했다.
도구> 스크립트 편집기에서 스크립트를 추가하고 버그 버튼을 눌러 인증을 활성화하십시오.
예제 파일을 만들었습니다. 공식 확인
isFormula(a1)
없습니까? (MS Excel에서는 범위 매개 변수를 얻는 함수가 될 것입니다)
ISFORMULA () 내장 함수를 사용하십시오 .
새 Google 스프레드 시트에서 문서화되지 않은 수식을 발견 한 것 같습니다. @Pnuts는 CELL
공식이 작동하지 않는다고 말하면서 (부분적으로는 새 Google 스프레드 시트에서만 사용할 수 있기 때문에) 코드를 새 Google 스프레드 시트에 복사했습니다. 내 (사용자 정의) 수식은 두 가지가 아닌 하나의 인수 만 허용한다는 오류가 발생했습니다.
이름을 isFormula
다른 것으로 바꾸면 작동하는 사용자 정의 기능이 생겼습니다. 이 경우에도 다른 Google 스프레드 시트를 만들어 isFormula
수식을 사용했습니다 . 수식이 자동 완성에 나타나지 않지만 작동합니다.
따라서 새 Google 스프레드 시트에서 수식을 사용할 수 있다면 이것이 가장 좋은 답변입니다.
=isFormula(A1)
새로운 Google 스프레드 시트에서만 사용할 수 있습니다. 다른 사람들에게 새 공식을 확인하도록 요청했으며 확인되었습니다. 문서화되지 않았으므로 구현이 확실하지 않으며 사라질 수 있습니다. 는 ARRAYFORMULA
이 새로운 공식을 사용하는 경우 작동하지 않습니다.
나는 당신을 위해 예제 파일을 만들었습니다 : isFormula
isFormula2("A1")
있습니다. 그래서 나는 다음function isFormula2(cell) { return (cell.getFormula())!=""; }
과 같이 그것의 새로운 버전을 만들려고 노력했다. 그리고 나는 그것을 사용할 수 있다고 기대isFormula2(A1)
했지만 이것은 작동하지 않는 것 같고 그것을 디버깅하려고 할 때 그것은cell
정의 되지 않은 것으로 보인다 . 변경되어f(A1)
대신 작동f("A1")
합니까?