﻿Google AppSheetではじめるノーコード開発入門 新装改訂版


掲載リスト




リスト4-1
NOW()


リスト4-2
[Image] = ""


リスト4-3
[Image] <> ""


リスト4-4
HERE()


リスト4-5
USEREMAIL()


リスト4-6
[Account] = USEREMAIL()


リスト4-7
(YEAR([タイムスタンプ]) = YEAR(TODAY()))   = (MONTH([タイムスタンプ]) = MONTH(TODAY())) = TRUE


リスト5-1
[値1] + [値2]


リスト5-2
FLOOR([値1] * 1.1)


リスト5-3
[項目] & [種類] & [日付]


リスト5-4
[参照].[値1] + [参照].[値2]


リスト5-5
SQRT(
  POWER( [参照].[値1], 2) 
    + POWER([参照].[値2], 2)
)


リスト5-6
UPPER([参照].[項目])


リスト5-7
CONCATENATE("NAME:", [参照].[項目], " MEMO:", [項目])


リスト5-8
"NAME:" & [参照].[項目] & " MEMO:" &  [項目]


リスト5-9
UPPER(
  INITIALS("japan appsheet user club")
)


リスト5-10
CONCATENATE(
  "[",
  LEFT("This is Appsheet sample.", 7),
  "], [",
  RIGHT("This is Appsheet sample.", 7),
  "], [",
  MID("This is Appsheet sample.", 9, 8),
  "]"
)


リスト5-11
SUBSTITUTE("月々に月見る月は多けれど月見る月はこの月の月", "月", "☆")


リスト5-12
TEXT(TODAY() - DATE("2001/01/01"))


リスト5-13
HOUR(
  TODAY() - DATE("2001/01/01")
) / 24 & "日間です。"


リスト5-14
TEXT(
  NOW(),
  "yyyy年m月d日 H時M分S秒"
)


リスト5-15
CONCATENATE(
  [参照].[値1],
  " (",
  IF([参照].[値1] >= 80, "優秀", "残念"),
  ")"
)


リスト5-16
[参照].[値2] >= 75


リスト5-17
[参照].[値2] & "点です。残念でした。"


リスト5-18
[参照].[値2] & "点！素晴らしい！"


リスト5-19
CONCATENATE(
  [参照].[値1],
  "点：",
  IFS(
    [参照].[値1] > 90, "エクセレント！",
    [参照].[値1] > 70, "よくできました。",
    [参照].[値1] > 30, "頑張りましょう。",
    [参照].[値1] >=0, "●赤点！●",
    true, "不明です。"
  )
)


リスト5-20
IFS(
  [参照].[値1] >=0, "●赤点！●",
  [参照].[値1] > 30, "頑張りましょう。",
  [参照].[値1] > 70, "よくできました。",
  [参照].[値1] > 90, "エクセレント！",
  true, "不明です。"
)


リスト5-21
SWITCH(
  [参照].[種類],
  "国語", "山田先生",
  "数学", "田中先生",
  "英語", "中村先生",
  "担当不明"
)


リスト5-22
SWITCH([参照].[種類],
 "国語", SWITCH([参照].[項目],
    "taro", "太郎の国語",
    "hanako", "はな子の国語",
    "sachiko", "サチコの国語",
    "その他"
  ),
 "数学", SWITCH([参照].[項目],
    "taro", "太郎の数学",
    "hanako", "はな子の数学",
    "sachiko", "サチコの数学",
    "その他"
  ),
 "英語", SWITCH([参照].[項目],
    "taro", "太郎の英語",
    "hanako", "はな子の英語",
    "sachiko", "サチコの英語",
    "その他"
  ),
  "その他"
)


リスト5-23
IFS(
  AND([参照].[種類] = "国語", [参照].[項目] = "taro"), ”太郎の国語",
  AND([参照].[種類] = "数学", [参照].[項目] = "taro"), ”太郎の数学",
  AND([参照].[種類] = "英語", [参照].[項目] = "taro"), ”太郎の英語",
  AND([参照].[種類] = "国語", [参照].[項目] = "hanako"), ”はな子の国語",
  AND([参照].[種類] = "数学", [参照].[項目] = "hanako"), ”はな子の数学",
  AND([参照].[種類] = "英語", [参照].[項目] = "hanako"), ”はな子の英語",
  AND([参照].[種類] = "国語", [参照].[項目] = "sachiko"), ”サチコの国語",
  AND([参照].[種類] = "数学", [参照].[項目] = "sachiko"), ”サチコの数学",
  AND([参照].[種類] = "英語", [参照].[項目] = "sachiko"), ”サチコの英語"
)


リスト5-24
{"one", "two", "three"}


リスト5-25
INDEX({"one", "two", "three"}, 1)


リスト5-26
SPLIT("This is a sample data.", " ")


リスト5-27
TEXT({"one", "two", "three"})


リスト5-28
SUBSTITUTE({"one", "two", "three"}, ",", "&")


リスト5-29
{"one", "two", "three"} + {"ok", "NG"} - {"two", "NG", "None"}


リスト5-30
INTERSECT({"one", "two", "three"}, {"one", "three", "five"})


リスト5-31
UNIQUE({"one", "two", "three"} + {"one", "three", "five"})


リスト5-32
[項目]


リスト5-33
other[項目]


リスト5-34
INDEX(
  other[項目], 
  [_RowNumber] + 1
) 


リスト5-35
INDEX(
  other[項目], 
  COUNT(other[項目]) - ([_RowNumber] - 1)
) 


リスト5-36
IF(
  [値1] >= AVERAGE(mydata[値1]),
  "平均以上です。",
  "平均未満です。"
)


リスト5-37
([値1] - AVERAGE(mydata[値1])) / STDEVP(mydata[値1]) * 10 + 50


リスト5-38
AVERAGE(
  SELECT(
    mydata[値1],
    [種類] = [_THISROW].[種類]
  )
)


リスト5-39
SUM(
  SELECT(
    mydata[値1],
    [項目] = [_THISROW].[項目]
  )
)


リスト5-40
FILTER(
  "mydata",
  [値1] >= 90
)


リスト6-1
CONCATENATE([項目], "の”, [種類], "のデータ")


リスト6-2
RANDBETWEEN(0, 100)


リスト6-3
CONCATENATE("* ", [項目], " *")


リスト6-4
________________
"#table=other&page=form"


リスト6-5
________________
CONCATENATE(
  "#table=mydata&page=detail&row=", 
  [参照].[Row ID]
)


リスト6-6
CONCATENATE("#page=detail&table=mydata&row=", ENCODEURL([参照]) )


リスト6-7
If(
  ISNOTBLANK(
    TEXT(
      LOOKUP(
        [_THISROW].[Row ID], 
        "other", 
        "参照", 
        "Row ID"
      )
    )
  ),
  CONCATENATE(
    "#table=other&page=detail&row=",
    LOOKUP(
      [_THISROW].[Row ID], 
      "other", 
      "参照", 
      "Row ID"
    )
  ),
  "#table=other&view=other"
)


リスト6-8
CONCATENATE(
  "https://ja.m.wikipedia.org/wiki/",
  ENCODEURL([項目])
)


リスト6-9
[値1]  < AVERAGE(mydata[値1])


リスト6-10
項目：<<[項目]>>
種類：<<[種類]>>
値1：<<[値1]>>
値2：<<[値2]>>
日付：<<[日付]>>
計：<<[計]>>
結果：<<[結果]>>
表示用：<<[表示用]>>


リスト6-11
{
   "項目": "<<[項目]>>",
   "種類": "<<[種類]>>",
   "値1": "<<[値1]>>",
   "値2": "<<[値2]>>",
   "日付": "<<[日付]>>",
   "計": "<<[計]>>",
   "結果": "<<[結果]>>",
   "表示用": "<<[表示用]>>",
   "other": [
      <<Start: [Related others]>>
      {
         "項目": "<<[項目]>>",
         "値": "<<[値]>>",
         "参照": "<<[参照]>>",
         "結果": "<<[結果]>>"
      },
      <<End>>
   ]
}


リスト6-12
[種類] = "数学"


リスト6-13
[Related others]


リスト7-1
TEXT(NOW(), "YYYY-MM-DD HH:MM:SS")


リスト7-2
[商品].[価格] * [個数]


リスト7-3
[在庫数] + SUM(
  SELECT(発注[個数], [flag]=TRUE)
)


リスト7-4
=ARRAYFORMULA(IFERROR(GOOGLEFINANCE("TOPIX", "all", TODAY()-30, TODAY(), "DAILY"), ERROR!A1:F2))


リスト7-5
=ARRAYFORMULA(IFERROR(GOOGLEFINANCE("INDEXNIKKEI:NI225", "all", TODAY()-30, TODAY(), "DAILY"), ERROR!A1:F2))


リスト7-6
// テスト用関数
function myFunction() {
  const prompt = 'こんにちは！';
  const response = callGeminiAPI(prompt);
  Logger.log(response);
}


function callGeminiAPI(prompt) {
  // APIキーを設定
  const apiKey = '《APIキー》';
 const model = 'gemini-1.5-flash';


  // Gemini APIのエンドポイント
  const endpoint = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`;


  // リクエストボディ
  const data = {
    "contents": [{
    "parts":[{"text": prompt}]
    }]
  }


  // オプション
  const options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(data)
  };


  // API呼び出し
  const response = UrlFetchApp.fetch(endpoint, options);


  // レスポンスを解析
  const content = JSON.parse(response.getContentText());


  // 応答テキストを抽出
  return content.candidates[0].content.parts[0].text;
}


リスト7-7
[Geminiにアクセス].[Output]