絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

35 件中 1 - 35 件表示
カバー画像

新たなサービス提供

新しくサービスを提供する事にしました。最近、相談問合せが多いのでサービスとして提供をする事にしました。Googleスプレッドシートは複数人での作業がしやすく、Excelは複数人での作業がしにくいです。この為に相談が多かったですので、分からない・時間が無いあなたに代わって、作業代行をいたします。私も、依頼者の情報・行ってる事に詳しいわけではありませんので打合せで、お互いの認識を同じものにして要望に沿ったシートをお届けしたいと思います。どうぞよろしくお願いいたします。引き続き、パソコンを使っての分からないの相談にのっていますので簡単なことでも、お聞きください。待っています(o_ _)o))*備考*複数での作業をスプレッドシートで管理角煮の人数でも、まとめて管理が随時行えます。Excelのシートだと、後で集計処理ですので楽に作業が進められますね。
0
カバー画像

【GAS】スプレッドシートの情報をYahooショッピングAPIを使って商品登録する方法

実現できることYahooショッピングへの商品登録をスプレッドシートへ追記するだけで完結しますYahooショッピングの商品登録APIを使ってスプレッドシートにある”update”ボタンをクリックすると、そのタイミングで瞬時に登録できるようになっています。スクリプトを回すトリガーはそれぞれ設定可能です。裏側の登録をするスクリプトを回すと瞬時にYahooショッピングの商品ページに追加されます。なぜ作ろうと思ったかYahooショッピングへの商品登録の際にいくつか運用対処が必要(JANの文字設定など)で煩わしいな思っていたのと、楽天市場には商品登録したけどあれ?「Yahooショッピングに登録したっけ?」などと管理上の煩雑さを感じていたので YahooショッピングのAPIを調べたところ、簡単に実装できそうだったので「GAS(Google App Scriptを使って書いてみました)」是非、そういった課題をお持ちの方を本記事を参考に構築いただければと思います。YahooショッピングAPI利用にあたってご準備するもの①Google スプレッドシート(フリーアカウントでも可)②YahooショッピングのクライアントID・クライアントシークレット①Googleスプレッドシート側の準備Apps Scriptの画面へスプレッドシート及びGoogle Apps Script側の準備を記載していきます。「App scriptってなに?」という方へ端的にお伝えするとApps Script(スクリプト・コード)を書いてスプレッドシートを操作できるようにするものです。今回はApps Scriptを使ってスプレッド
0
カバー画像

【GAS】スプレッドシート直下にフォルダを生成する

■はじめにここ数日、フォルダ生成の記事にアクセスが多かった様なので、フォルダ生成系の記事をちょっと追加で書いてみようと思います。■スプレッドシートの情報を取得するまずは、使っているスプレッドシートがGoogleDrive内のどこに存在するか確認する必要がありますので、自分自身のファイル情報を取得します。const book = SpreadsheetApp.getActiveSpreadsheet();const bookID = book.getId();const file = DriveApp.getFileById(bookID);■取得したファイル情報の親フォルダのIDを取得するgetParentsメソッドを使う事で、親フォルダの取得ができます。複数ファイル等がある場合はhasnext()とnext()を組み合わせるんですが、親フォルダは1つしかないので、next()だけで取得します。const dir = file.getParents().next();const dirID = dir.getId();■親フォルダの直下に新規にフォルダを作成する以下の処理を行う事で、取得したフォルダ直下に新しいフォルダを作成します。const drive = DriveApp.getFolderById(dirID);drive.createFolder('フォルダ名');厳密にやるのであれば、フォルダ作成前に、フォルダの重複チェック等も処理に入れると良いでしょう(´ω`*)■最後に今回のような仕組を使ったツールの作成もできますので、 お困りの事ございましたら、お気軽にご相談く
0
カバー画像

【GAS】オブジェクトの宣言タイミングについて

■はじめに 今回はSpreadsheetAppや、CalendarAppなどのオブジェクト宣言タイミングについて説明していきます。■GASのオブジェクトを宣言すると重くなりやすい GASのオブジェクトは、宣言する度に結構時間がかかります。 無料GmailのGASにはプログラムの稼働時間に6分という制約があるので、いかにプログラムの稼働時間を短くするか?ってのがキモになってきます。■グローバル変数、グローバル定数でオブジェクト宣言をしてしまう プログラムやってるとあんまり推奨されないやり方なのかもですが、 GASの場合は可能な限りGASオブジェクトの宣言を減らす必要があります。 また、「SpreadsheetApp」や「CalendarApp」などは1回呼び出しておけ ば事足りる上に変動することはないので、グローバル定数宣言してしまう と安定しやすいです。■サービスのご紹介 こういった点を意識しながらGASの開発しております。 GASでの業務改善のご要望ございましたら、 お気軽にご相談いただけると幸いです(´ω`*)
0
カバー画像

【GAS】カレンダーコントロールの基礎

■はじめに 今回はGASのカレンダーコントロールを使って、特定の日付の予定を取得する処理を説明していきたいと思います。■まずはソースからfunction cBasicControl(){  const cCalendar = CalendarApp.getCalendarById('カレンダーID');  const dDate = new Date('2023/08/9');  const cEventList = cCalendar.getEventsForDay(dDate);  for(let i in cEventList){    Logger.log(cEventList[i].getTitle());  };};厳密には汎用性を上げる為に、私はもうちょっと違う書き方してるんですが、基本的なコードは上記の様になります。■カレンダーオブジェクトの宣言以下のコードで、何処のカレンダーを使用しますよと宣言しています。const cCalendar = CalendarApp.getCalendarById('カレンダーID');カレンダーIDの部分には、使用するカレンダーIDを入力しましょう。※カレンダーIDの取得方法は次回にでもご案内しますね。 これで、カレンダーオブジェクトが利用可能になりました。■指定した日付のイベント一覧を取得する次に指定したカレンダーの特定の日付のイベント一覧を取得します。  const dDate = new Date('2023/08/9');  const cEventList = cCalendar.getEventsForDay(dD
0
カバー画像

【GAS】2次元配列の操作方法

■はじめに今日は自分の備忘録も兼ねて書いてみたいと思います。結構使うんですよ、2次元配列。■宣言方法2次元配列を利用する為に空の配列を宣言したい時は以下のような宣言をします。const arrTest = [];で、これの宣言が終わったら、追加するわけです。■要素を追加する方法追加方法は以下の様にします。arrTest.push([要素1, 要素2, 要素3.....]);必要な要素は作るものによって変わるので、事前に変数とかで取得しておきましょう。■要素を表示する方法取り出したい時は、arrTest[x][y]で指定してあげれば、取得できます。■最後にこんな機能も使いながら、開発案件お受けしております。何かありましたら、お気軽にご相談ください♪
0
カバー画像

Google Apps Scriptの商品登録しました!

私は、Webの業界でたくさんの仕事をしてきましたので、デザインもできるのですが、GASの開発もできるんです!昨年からYouTubeのチャンネルを立ち上げ、GASで業務効率化する動画もあげてきました。こんなこともできますよ、というのをたくさんあげてきました。こっちはばっちり顔出し😁ぜひ、見ていただいて、作って欲しい!というものありましたらメッセージからでもOKですのでご連絡お待ちしています!こちらは視聴回数900回越えの動画。Googleフォームで問い合わせがきたことをLINEに通知するGASを紹介しています。商品はこちら
0
カバー画像

Looker Studio(旧Googleデータポータル)のレポートをコピーして他のデータで使う方法 - Google アナリティクス

はじめにLooker Studio(旧Googleデータポータル)とは、Googleが提供するクラウドベースのBIツールです。Google AnalyticsやGoogle広告など、様々なデータソースへ接続でき、ビジュアライズされたレポート(ダッシュボード)作成機能、容易なレポートの共有といった高度なレポート機能を無料で利用することができます。本ページは、Looker Studioの便利な機能の一つ、レポートをコピーして作成する手順についてご説明します。Looker Studioのレポートのコピーとは既に出来上がっているLooker Studioのレポートはコピーをして使用することができます。レポートのフォーマットはそのままに流用でき、別のデータソースに差し替えるだけで新たなレポートが出来上がります。Looker Studioのレポートをコピーする仕組み外部のサービスやファイルから取得した、データポータルで使えるようにしたデータを「データソース」と呼びます。データポータルの「レポート」はこのデータソースのデータを取り込んでビジュアル化する“フォーマット”ということになります。したがって、レポートのデータソースを差し替えてしまえば、次々と新たなレポートが作成できるということになります。なお、レポートをそのままコピーして流用できるのは、ディメンションや項目が同じデータソースに限ぎられることをご注意ください。同じGoogle AnalyticsでもUAとGA4はディメンションや項目が異なりますので、レポートの共通使用はできないということになります。また前提として、データソースに使いた
0
カバー画像

スプレッドシートでチェックボックスを付ける

こんにちは。当ブログではGoogleアプリの初級・中級者向けの発信をサクッと行っていきます。今回紹介するのは、スプレッドシートでセルをチェックボックスにする方法です。 ざっくりと画像付きで紹介していきます。 1. チェックを入れたいセルを選択しておきます。 複数選択可能です。2. 画面上部のメニューから、「データ」をクリック。 3. 「データの入力規則」をクリックします。4. 「条件」の欄がデフォルトでは「リストを範囲で指定」をなっていると思います。 それを「チェックボックス」に変更します。 5. 保存をするとチェックボックスの完成です。 6. チェックボックスはコピーをして貼り付けることもできます
0
カバー画像

【GAS】スプレッドシートの新規作成・改その4(おしまい)

■前回はこちら今回はスプレッドシートの新規作成処理の改良版最終回ということで、1~3までの処理の結合をしていきます。結合して関数化したソースは以下になります。function createSpreadsheet(spreadsheetName=``, folderID=``){  let flag = true;  let drive;  let files;  let newFileID = ``;  if(spreadsheetName!==``){    //ドライブデータの取得    if(folderID!==``){      drive = DriveApp.getFolderById(folderID);      files = drive.getFiles();    }else{      drive = DriveApp.getRootFolder();      files = drive.getFiles();    }    //重複チェック    while(files.hasNext()){      const file = files.next();      if(file.getMimeType() === MimeType.GOOGLE_SHEETS && _      file.getName() === spreadsheetName){        flag = false;        break;      }      //スプレッドシートデータの新規作成処理      newFileID = Spre
0
カバー画像

【GAS】スプレッドシートの新規作成・改その3

■前回はこちら今回はスプレッドシートの作成処理部分について記載していきます。基本の動作は以下のソースを利用します。//スプレッドシートデータの新規作成処理newFileID = SpreadsheetApp.create(spreadsheetName).getId();//指定フォルダへ移動するconst folder = DriveApp.getFolderById(folderID);DriveApp.getFileById(newFileID).moveTo(folder);ただ、この動作のままだとRootフォルダで作成した時にもmoveToを実行してしまうので、以下の様にちょっと修正します。if(flag===true){  //スプレッドシートデータの新規作成処理  newFileID = SpreadsheetApp.create(spreadsheetName).getId();  //フォルダが指定されていれば、指定フォルダへ移動する  if(folderID !== ``){    const folder = DriveApp.getFolderById(folderID);    DriveApp.getFileById(newFileID).moveTo(folder);  }}Rootフォルダ上に作成する時には変数「folderID」がブランクになるようにしているので、入力時だけmoveToが実行されるよう処理を分岐させています。これで一通りのソースの改造が終わりました!次回は一式まとめです。お楽しみに(*'ω'*)
0
カバー画像

【GAS】スプレッドシートの新規作成・改その2

■前回はこちら前回はファイルの作成位置がルートが指定フォルダかでの分岐をするようにしました(*'ω'*)今回は重複チェック処理について記載します。基本的な重複チェックはこちらの記事に記載した方法と一緒です。ちょっと違う点として、フォルダ作成の場合は名前のチェックだけでいいんですが、ファイルの場合はファイルタイプ(= MIME Type)を比較する必要があります。なので条件式としては以下の様な感じ。while(files.hasNext()){  const file = files.next();  if(file.getMimeType() === MimeType.GOOGLE_SHEETS _  && file.getName() === fileName){    flag = false;    break;  }}ポイントとなるのは、以下のコードです。file.getMimeType() === MimeType.GOOGLE_SHEETS「getMimeType()」が現在取得しているファイルのMIMETypeを取得します。パソコンのファイルでいうファイル拡張子みたいなものですね。比較定数値は以下の様にテキストコードで打つこともできますし。`application/vnd.google-apps.spreadsheet`今回の記事の様に以下の公式MIMEType定数を使う手もあります。「 developers.google.com/apps-script/reference/base/mime-type 」次回はファイルの作成処理部分について記述し
0
カバー画像

【GAS】スプレッドシートの新規作成・改その1

前回ブログだと重複対策が出来てなかったので、改修してみました。基本的にはフォルダの重複チェックと似たような処理を行うのですが、ルートフォルダ上(マイフォルダ)に作成したい場合と、指定のフォルダに保存したい場合で使うメソッドが異なるので、分岐させます。if(folderID !== ``){  drive = DriveApp.getFolderById(folderID);  files = drive.getFiles();}else{  drive = DriveApp.getRootFolder();  files = drive.getFiles();}指定のフォルダを取得したい場合は「getFolderById()」ルートフォルダを取得したい場合は「getRootFolder()」をそれぞれ使用します。 この時にブロック変数にしてしまうとifから出たら取得した変数の値が解放されてしまうので、上記のコード以前にletなりvarなりで変数宣言しておきましょう。続きはまた次回(*'ω'*)
0
カバー画像

GASでのフォルダ作成について

GASでフォルダを作成する場合、DriveAppを使い、以下の様に書きます。const drive = DriveApp.getFolderById(`フォルダID);drive.createFolder(`作成フォルダ名`);これで指定したフォルダID下に新しくフォルダを作成することができます。ただ、GoogleDriveの場合、IDでファイル管理している為、同一名称のフォルダが作れてしまう為、以下の様にフォルダ名の重複チェックを入れてあげるとより安定性があがります。const drive = DriveApp.getFolderById(folderId); const folders = drive.getFolders();let folder;let flag = true;while(folders.hasNext()){  if(folder.getName() === folderName){    flag = false;    break;  }}if(flag === true){  drive.createFolder(folderName);}もうひと手間加えてあげると、関数化できるので使いまわしがしやすくなります。
0
カバー画像

GASでスプレッドシートを指定のフォルダに新規作成する

お久しぶりのブログです。体調崩したり大き目案件頂いててんやわんやでした。さて、今回はGASを使ったスプレッドシートの新規作成について書いてみます。GASでスプレッドシートを単純に新規作成する場合、以下の様に記述します。SpreadsheetApp.create(`テストシート`);ただ、この方法だと、GoogleDriveのRootフォルダであるマイドライブ直下に作成されてしまいます。特定のフォルダにファイルを新規作成したい場合、createメソッドだけでは実現できないので、以下の様な手順を通ります。1)スプレッドシートを新規作成2)新規作成したシートのIDを取得3)フォルダの場所を取得 4)取得したシートIDを指定したフォルダへ移動するGASの場合、スプレッドシートの新規作成と、シートIDの取得は同時に行う必要があるので、以下の様に記述します。const bookId = SpreadsheetApp.create(`テストシート`).getId();次に個別に保存先のフォルダを取得しますconst dir = DriveApp.getFolderById(`フォルダID`);最後に移動処理を行います。DriveApp.getFileById(bookId).moveTo(dir);これをひとまとめにして記述すると次の様になりますconst bookId = SpreadsheetApp.create(`テストシート`).getId(); const dir = DriveApp.getFolderById(`フォルダID`);DriveApp.getFileById(boo
0
カバー画像

[Google Apps Script]GAS初回実行時の認証のやり方

Google Apps Script(GAS)で書いたコードを実行するためには、初回のみアカウントの認証が必要となります。この記事では認証に必要な手順を解説します。手順1:【権限を確認】初めてのGAS(function)を実行しようとすると認証が必要な場合、このアラートが表示されます。そこで、権限を確認をクリックして先に進んでください。手順2:【アカウントの選択】ご使用のアカウントを選択してください。選択したアカウントで権限を許可します。手順3:【詳細】詳細を選択すると左下に「[関数名](安全ではないページ)に移動」が表示されます。手順4:【安全ではないページに移動】安全なページに戻りたくなりますが、ここで戻ってしまうと認証は出来ません。安全ではないページに移動を選択してください。手順5:【許可】「[関数名]がGoogleアカウントへのアクセスをリクエストしています」と表示されるので内容を確認して、許可を選択すると認証は完了です。【備考】手順1〜4で認証は完了ですが、スプレッドシート、フォーム、カレンダー、Gmail 等GASを利用するサービスが追加された場合は、その都度認証が必要となりますので、同じ手順で認証を行ってください。面倒な手作業の自動化・効率化をご検討中の方は下記ココナラのリンクよりお気軽にお問い合わせください。手作業での記録、PDF化、メール送信等はGoogleの公式サービスを使用する事で簡単に自動化・効率化することが出来ます。
0
カバー画像

Youtube動画情報をGASでまとめてみた

YoutbeAPIで動画情報を取得し、チャンネルごとにGoogleスプレッドシートにまとめるGoogle Apps Scriptを作ってみました。使い方は簡単です。なんと、1枚目のシートにチャンネルタイトルとURLを入力するだけ。GASを実行することで、チャンネルごとにシートを作成し、動画情報を書き込んでくれます。ここでは、投稿日、再生回数、高評価、低評価、コメント数を書き込むようにしました。これをトリガーを使って、毎日自動で実行するように設定すると、毎日最新情報に書き換えてくれるので非常に便利です。途中でチャンネルを増やしても問題なく動作します。複数のチャンネルの管理も一つのスプレッドシートでできて、自動で毎日更新してくれる上に操作も簡単で非常に便利です。ご依頼お待ちしております。
0
カバー画像

IMPORTRANGE関数の問題

GoogleWorkspaceの場合、共有フォルダに入れられたファイルはオーナー権限の切り替えができるので、作成者アカウントを消しても何事もなーく、利用できるようになってるんですが、今回ここでビックリ問題が発生しました(*ノωノ)IMPORTRANGE関数という、特定のスプレッドシートの範囲をまるっとコピーしてくる関数があるんですが、この関数なんと・・・・ユーザー承認処理がいるんです!結果的に何が起きたかというと、IMPORTRANGE関数を使って参照していたシートがデータ全て参照不可になって、データ閲覧ができなくなりましたw解決策としては、別の編集者、管理者アカウントで再接続しなおしてあげれば閲覧可能にはなるので、まぁリカバリ不可能な問題ではないっちゃないんですが、人員の入れ替えが発生する組織に於いてこの関数を気楽に使うのはちょっと危ないですね。じゃぁ、具体的な対策としてなんの関数使えばいいの?という話に関してはまだ調査してないんでわからないんですが、何かしらの対策は取らないと年1単位位で問題発生するんで、なるはやでこの問題は解決したいものです(*'ω'*)
0
カバー画像

【Google Apps Script】シートから一致する日付をしぼり込む方法⑤

前回の記事では、日付の記載がある行だけを絞り込むことができました。シートの先頭の空行や見出しを飛ばしてデータを取得するほか、行の途中で空行などがあった場合にも、日付のデータだけを取得することに成功しましたね(´∀`*)今回でこの連載も終了となります。前回は.filter()メソッドを使って、A列に日付のデータがある行だけを抽出しました。さてこの連載の最終目的に立ち返ってみましょう。このような↓データの中から、一致する日付の行だけを抽出する、もしくは〇日~〇日まで、といったようなある期間に該当する行を抽出するというのが目的でした。実は、これも.filter()メソッドと、これまでに学んできたことを応用すればとても簡単に実現することができます。日付の比較をするには、.getTime()メソッドを使うのでしたね。それを、前回作成したコードに応用してみましょう。↓前回のコードconst filtered = whole_sheet.filter(function (element) {    return typeof element[0] == 'object';});上記のコードでは、2行目の typeof element[0] == 'object' がTrueとなるとき、つまり「A列の値がオブジェクト型である」という条件に一致するものだけを抽出し、filteredという新しい配列を作成したのでした。では typeof element[0] == 'object' という条件に、さらにもう一つの条件を追加したらどうでしょうか?そうなんです! それができちゃうんです(∩´∀`)∩B
0
カバー画像

【Google Apps Script】シートから一致する日付をしぼり込む方法④

さて、前回は取得したシートのデータを、forEachでループさせてログに表示させましたね。 そしてA列にある日付の表示を、getTime()メソッドでシリアル値として確認しようとしたところ、エラーが出たのでした。 前回の記事をお読みになりたい場合はこちら↓をご覧くださいね。エラーログを確認してみましょう。 ループが一度もされずにエラーが出ていますね。つまりシートの一行目でエラーになっているということです。なぜelement[0].getTime()でエラーが出るかを知るかには、element[0]になにが格納されているかを見てみなければなりませんね。 function testDateFunction() {  const ss = SpreadsheetApp.getActiveSheet();  const whole_sheet = ss.getDataRange().getValues();  whole_sheet.forEach(function (element,index) {    console.log((index+1)+"行目は「"+element[0]+"」だよ");  });1行目や2行目のデータはそれぞれ「サンプルシート」「日付」だと分かりました。String型ですね!これじゃ.getTime()メソッドが使えるわけないですね(;゚Д゚) 初めにシートのデータを取得した際、.getDataRange()でシートのすべてのデータを配列に格納しました。ですのでA列が日付で始まる行以外の、1行目や2行目などの「サンプルシート」や「日付」などの文字列が取得
0
カバー画像

【Google Apps Script】シートから一致する日付をしぼり込む方法③

さて、今回の記事からはいよいよ日付をまとめて処理していきたいと思います。 前回の記事をお読みになりたい場合は、こちらをご覧くださいね↓このようなシートを用意しました。 なんのシートなんでしょうか。適当に用意しただけなので私にもわかりません(笑)まずはこのシートを、まとめて配列に格納してしまいましょう。 function testDateFunction() {  const ss = SpreadsheetApp.getActiveSheet();  const whole_sheet = ss.getDataRange().getValues();}これで、現在開いているシートが丸ごと取得できました。 変数whole_sheetの中身は、以下のような二次元配列になっています。 ちょっと見づらいですね……💦スプレッドシートやエクセルでは、シートは二次元配列で表示されます。 二次元配列とは、配列の中にさらに配列が入っているものです。ひとつのセルがひとつの要素となり、その集まりが「行」として一次元配列に、またそのひとつの行がひとつの要素として配列にまとめられ、二次元配列になるという感じです。 [セル、セル、セル] ← 一次元配列 [[セル、セル、セル], [セル、セル、セル], [セル、セル、セル]] ↑二次元配列 という感じです。 ちなみに、一行分のデータを取得した際には一次元配列になる、なんてことはないですよ。 一行分なら、[[セル、セル、セル]] ←こういう二次元配列になりますね(´∀`*) では、取得したデータをforEachで表示させてみましょう。 whole_sheet
0
カバー画像

【Google Apps Script】シートから一致する日付をしぼり込む方法②

今回はDateオブジェクトのgetTime()メソッドについて解説していきます。 前回の記事で、getTime()メソッドは「とある起点からの経過ミリ秒を取得するメソッド」だと書きました。 もし前回の記事をご覧になりたければ、こちらをクリックしてくださいね。そこのところを詳しく見ていきましょう! まず前回同様に、変数todayに今日の日時を格納してみましょう。ちなみにこの記事を書いている現在、日にちは2月2日です。 const today = new Date(); 現在日時の取得はこれでできるんでしたね。ログを見てみましょう。console.log(today); 無事、現在時刻が格納できていますね。では console.log(today.getTime()); としてみるとログにはなにが表示されるでしょうか??function testDateFunction(){  const today = new Date();  console.log(today);  console.log(today.getTime());}なんだか謎の数字「1612194136072」が表示されましたね(;'∀') 実はこれが、「とある起点からの経過ミリ秒」の数字です。とんでもなく大きな数字のように思えますが、ミリ秒であらわされた数字なんですね~。 ではここで気になるのが、「とある起点」っていうのはいつのことよ?? ということだと思います。 ズバリ答えを言うと、それは1970年1月1日午前0時0分0秒(UTC)のことです! これはUNIX時間といって、コンピューターで時刻を表現する際の、基
0
カバー画像

【Google Apps Script】シートから一致する日付をしぼり込む方法①

スプレッドシートを扱っていると、高い頻度で日付を扱う場面がありますよね(´∀`*) ですが、日付の操作って正直、かなりややこしくないですか……? そもそもJavaScriptって、もともと日付の操作をするのがとてもややこしいんです。そこでよく使われるのが、ライブラリの「Moment.js」……なのですが、GASでは使えないんですね(ほんとはあるけど随分前に更新が止まっているので使わないほうがよい)。今回は、シートの中から特定の日付だけを絞り込むという、単純だけれど奥が深い方法を連載で紹介していきます♪ 例えば、以下のようなシートがあったとします。 なにやら勤怠管理のシートのようですね。余談ですが簡単に勤怠管理ができるスプレッドシートなどを出品しておりますのでご興味があればご覧ください(笑) ではこのシートから、1月3日~15日までの日付を絞り込むにはどのようにしたらいいでしょうか? さて、まずは最も基本的な部分ですが、JavaScriptで日付を扱うにはDateオブジェクトを使います。 使い方は new Date() です。 const today = new Date(); とすれば、変数todayには今日の日付が入ることになります。 (実はその表現は誤りで、現在の日時が入っていると言わなければなりません。後述します) さて、この記事を書いている現在は1月31日です。だとすれば、画像の26行目の日付と同じですね! ==で結ぶことができるのではないでしょうか?やってみましょう! function testDateFunction(){   const ss = Spreadsh
0
カバー画像

簡単にWEBアンケート作成・集計ができるGoogle formの使い方

●オンラインでアンケートフォームを作りたいのですが、どのフォームがオススメですか?●どうやって作ればよいかいまいちよく分かりません。●アンケートフォームにいろいろな機能がありすぎて良く分からない!●アンケートを作ったけど、どうやってアンケートフォームを回答者に送ったり、回答を分析すればよいか分からない!最近、僕の元にこういったご質問をよくいただきます。僕自身、去年までは紙ベースの申込書やアンケート用紙を使っていましたが、管理や集計が大変で、集計も外注に出すと数万円のコストがかかり、とても苦労していました。しかし、Google formに出会ってからは完全無料で、簡単にフォームを作成でき、かつ集計も瞬時に表示されるので、スピーディーに結果を分析することが可能です。今回の記事では皆様からいただく疑問点をもとに、初心者の方も簡単にフォームを作成できるようになる手順をまとめましたのでご確認ください。1. Google formとは Googleフォームとは、Googleのサービスの1つとして提供されているフォーム作成ツールです。 使いやすさや無料で使える点などから、アンケートや問い合わせ、キャンペーンへの申し込み、各種セミナーの申込みなど、様々な用途で利用されています。 アンケートを作成できるだけでなく、集計や分析をアシストする機能もあり、アンケートフォームの利用が初めてという方にとっても扱いやすいツールです。 2. Google formを利用するメリット ●簡単&スピーディーに作れる Googleフォームの魅力として第一に挙げられるのが「簡単かつスピーディーに作れる」点です。フォ
0 500円
カバー画像

小規模事業で専用勤怠システムを入れるの、高くない?Googleスプレッドシートで勤怠管理しませんか?

こんにちは、るどるふと申します。元SEとして色々な勤怠システムを開発・保守・運用してきましたが、導入している会社様ってみんな超大手ばっかりなんですよね。(機密保持契約を結んでいるのでどことは言えませんが…)確かに多機能で非常に管理しやすいのですが、その値段がどうにも高い。企業の事情に合わせたカスタムバージョンだと1000万を超えるものもあります。果たしてそんな金額を小規模事業主の方が払えるのか?はっきり言って無理なんじゃないでしょうか…。私は現在個人事業主として仕事を請け負ったりしていますが、中には「月商50万です。家賃で25万ぶっとびます」というような小規模事業主の方ともやり取りさせていただいております。直近ですと大手ではない、地域密着型の個別指導塾様や居酒屋様などでしょうか。そういったところで利用されている勤怠管理は、タイムカードが主だと思います。最近事務用品も安いですしね!でも計算するときは手で計算していたんですね…。私がそこで思ったのは「せめてEXCELで自動計算できるようにしておけよ…」ということ。手計算でミスしていて丸一日分アルバイトさんが損しているなんていうのはザラでした。そんな感じで勤怠管理にEXCELを勧めているように思える私ですが、実はEXCEL自体はあまりおすすめしていません。理由は複数人で触ると壊れることが多いから。ファイルが破損したところで治せる人がいればいいのですが、EXCELを自由自在に使える人って私が思っていたより世間にはいないようです。そんな中私が注目しているのはGoogleが提供している表計算サービス、「Googleスプレッドシート」。こちら
0
カバー画像

ExcelとGoogleスプレッドシートの違い

目次① 無料で使える ② クラウド型 ③ 複数人で使いやすい ④他のGoogleサービスとの連携 Excelの特徴 ① 費用がかかる ② インストール型 ③フォントの数、罫線やグラフの種類が豊富 GoogleスプレッドシートとExcelの違い 違い①:料金 違い②:利用者数 違い③:クラウド型かインストール型か 違い④:デザイン性 違い⑤:複数人での使いやすさ Googleスプレッドシートに向いている人、Excelに向いている人 ・Googleスプレッドシートに向いている人 ・Excelに向いている人 ①無料で使える スプレッドシートの1番の特徴は無料で使えるというところです。 利用に必要なのはGoogleアカウントだけなので、アカウントを作成すれば誰でも使うことができます。 ②クラウド型 スプレッドシートはクラウド型の表計算ソフトです。 クラウドというのは、インターネット上でデータを管理するシステムのことを言います。 クラウド型は近年主流な形態であり、ビジネスツールを始め、私たちの身近なSNS等にも取り入れられています。 ③複数人で使いやすい スプレッドシートは複数人で使いやすいという特徴があります。 データ共有がスムーズに行え、同時編集・同時作業も簡単に行えます。 誰がどこを編集したかという履歴も追えるので、グループでの作業にぴったりなソフトです。 ④他のGoogleサービスとの連携 スプレッドシートはGoogle製品であることから、他のGoogleツールとも相性が良いのが特徴です。 たとえばGmailやGoogleドキュメント、Googleカレンダーなどと連携させることで
0
カバー画像

おでぃー出品サービスへの依頼をご検討中の方へ

こんにちは!この度は、私のサービスをご検討いただきありがとうございます。プログラミング・ツール作成ジャンルでは、ご依頼内容によって実装難易度が大きく異なることから、完全お見積り制であるケースが多いです。そのため、ご相談されるまでどのくらいの金額になるかわからず不安になるご依頼者様もいらっしゃるかと思います。そこで、私のサービスでは安心してご相談いただけますよう、料金表をご用意いたしました!ただし機能や処理というのは特性上、綺麗に分解することができません。そのため、実装難易度や作用関係によって変動する可能性がございます。目安としてご覧ください。料金表※2024/01/24以降にご相談の方対象お見積り総額お見積り総額は、= 実装料金(青色)+ 基本サービス(赤色)+ オプションサービス(黄色)にて算出致します。お見積り方法ご相談いただいた後、機能について細かくヒアリングさせていただき、要件を整理致します。機能を処理として分解できるまで落とし込み、お見積りのご提案をさせていただきます。お見積り例●Chatworkから特定の条件でメッセージを取得し、スプレッドシートに書き込む→¥7,200・内訳Chatwork - メッセージ取得 : ¥4,500スプレッドシート - セルに値を書き込み :¥1,500要件整理(初回無料):¥600設定手順作成&サポート:¥600●スプレッドシートの特定の列からランダムにセルの値を取得し、X(Twitter)に投稿する→¥10,800・内訳スプレッドシート - セル検索:¥1,500スプレッドシート - セルの値を取得:¥1,500X(Twit
0
カバー画像

注文住宅、お金管理難しすぎ問題!

閲覧いただきありがとうございます。これが初投稿となります。いきなり個人的な話ですが、今家を建てようとしています。もうすぐ着工といった段階です。ここに至るまで本当に長い道のりでした。。。(泣)ウッドショックの影響もあり、営業さんがとても焦っている様子で土地も決まってないのにとりあえず契約する形になりそこからせっせと土地探し。「〇月以降はもうこの価格で提供できないから、はよ土地決めてください」と催促され、予算を少しオーバーした土地を購入。そこがまた、深基礎工事が必要だの、塩害対策が必要だのであれよあれよと追加費用に加算され建物や外構費用を削るために頭を抱える日々を過ごしました。(結構マジ)お金もそうですが、費用項目も馴染みがないし(最初外構工事もガイコウ、とは、、状態でした)営業さんの説明もほとんどわからないのに出される見積書(紙)には預金通帳でも見ることの内容な"0"がたくさん並んでるしで夫婦そろってストレスでした。。。結局費用を削るために自分たちでできることはやると決めたので営業さんから頂く見積書だけでは正確な数字がわからずスプレッドシートで管理することにしました。これでお金に無頓着な夫対策もばっちりよ!カーテン見積やローン支払い、現金がいくら必要か全部まとめてやりました!作った達成感ももちろんありますがなんせ綺麗にまとまっていて毎回どこに片づけたかわからん紙探すストレスのなさ!控えめに言って、超快適です。最後までお読みいただき、ありがとうございました。また、家が建った頃にでもブログを書くかもしれません。 その際は、よろしくお願いします。
0
カバー画像

スプレッドシートを元にした検索システムの構築

スプレッドシートを元にした検索システムの構築は、以下の手順で行うことができます。 1.スプレッドシートのデータをHTML化する Googleスプレッドシートからは、HTML形式でデータをエクスポートすることができます。エクスポートしたHTMLファイルは、Webサーバー上に配置することで、ブラウザからアクセスすることができます。
0 500円
カバー画像

【Excel/スプシ】時短便利術!一つ上にあるセルを簡単にコピーする方法

Excel(スプレッドシート)編集中に、『今、どうやったんですか?』とよく聞かれるショートカットキーを紹介します。例えば、表を作成していて、既存の行をコピーして、最下行に新しくデータを1行追加するような状況はよくあると思います。『Ctrl + C → Ctrl + V』 で、普通にコピー&貼り付けでも十分に速いのですが、さらに速いのが『Ctrl + D』で選択している一つ上のセルをコピーする方法です。類似で、『Ctrl + R』で選択している左隣のセルをコピーする方法もあります。 かなり頻繁に使うので知ってると便利です!良かったらGood♥ボタンを押して頂けると嬉しいです!
0
カバー画像

ランキング上位1000アイテムのデータ収集を自動化

先日、とある顧客の方から受けた依頼で、ECサイトのランキング上位、1000アイテムのデータを自動収集してCSVにする機能を実装しました。・ URLを入力して、ボタンを押す・ 各商品の、商品名・カテゴリ・価格・商品説明などのリストが生成されるというものです。グーグルのスプレッドシート上に実装しました。誰でも簡単に操作できます。同様の案件、お受けすることが可能です。もしお困りでしたら、ご相談ください!
0
カバー画像

getRangeを使う時のオブジェクト考えてみました

getRangeの引数って割と決まった値を渡すことが多いので、定数宣言してたんですが、そうすると3行~4行宣言に食われてしまって可読性が下がるのでどうしたもんかと悩んでたんですが、あ、そういえばオブジェクト使えるんじゃないかなと思ったのでちょっと作ってみました。書いてる文言の関係もありそうですけどなんか長いですね(ーー;ここだけアロー関数にしちゃって簡素化してみるのもありかもしれないのでもう少し研究してみます(*'ω'*)
0
カバー画像

GASで婚活パーティー等のカップリングを自動化してみた

Google Apps Script(GAS)を使って、婚活パーティー後のカップリングの集計を自動化してみました。男女15名ずつの想定で、各参加者にあらかじめ番号を割り振っておきます。参加者に第3希望まで、気に入った相手を書いてもらい、それをGoogleスプレッドシートに記録します。そして、GASを実行すると、成立したカップルをシートに自動で記載してくれます。出来上がったソースコードを実行するだけですので、操作も簡単ですが婚活パーティーの主催者の方いかがでしょうか。
0
カバー画像

Instagramの投稿情報を毎日自動で記録するGASを作ってみた

InstagramグラフAPIで投稿の情報を取得し、Googleスプレッドシートに毎日自動で取得するGoogle Apps Scriptを作ってみました。外部から操作することもないので、GASの実行権限は自分だけで済み安全に運用できます。トリガーの設定を毎日にしており、勝手に更新してくれるので非常に便利です。表にまとまっていて一目でわかるので、アプリから確認するより見やすいと、個人的には思っています。出品しておりますので、ぜひ購入してください。
0
カバー画像

Istagramの投稿情報を自動記載してみた

InstagramのAPIで取得した情報を、GASを使ってGoogleスプレッドシートに記録してみました。これを使えば、50以上いいねが付いた投稿だけ抽出するなど、Instagramの分析に利用できます。フォロワーさんがどのような投稿に興味を持ったか一目瞭然になりますね。
0
35 件中 1 - 35
有料ブログの投稿方法はこちら