PURPOSE

脱エクセルを無料で始める

Excel・Access・マクロで管理している業務を、みんなで同時に使えるWebデータベースへ。プリザンターは、日本国内で開発されているオープンソースのノーコード・ローコード開発ツールです。Community Editionは利用者の人数や期間の制限なく無料で使え、商用利用もできます。画面の設定だけで始められ、計算式・サーバスクリプト・APIでコードからも拡張できます。

Excel・Accessでの管理、こんなことに困っていませんか

  1. ファイルがあちこちに保存され、どれが最新版か分からない
  2. 同じファイルを同時に編集できず、順番待ちや上書きが起きる
  3. 件数が増えるとファイルが重くなり、開くだけで時間がかかる
  4. マクロやVBAを作った人しか直せず、担当者が替わると誰も触れない
  5. Accessで作った業務システムの作者が異動・退職し、直したくても直せない
  6. 誰がいつ何を変えたのか、承認が済んでいるのかが記録に残らない

プリザンターなら、Excelの困りごとをこう解決します

プリザンターは、ブラウザから使えるWebデータベースです。Excelの表をテーブルに移し、プログラミングなしで管理のしくみを整えられます。

Excelではできない、きめ細かなアクセス制御

Excelでは、ファイルを開ける人には中身がすべて見えてしまうため、見せたくない情報があるとファイルを分けて管理することになりがちです。プリザンターなら、1つのテーブルのまま、見られる人・変更できる人を組織・グループ・ユーザーの単位で細かく決められます。

  1. テーブルごとに:使える人を部署やグループで決める
  2. レコードごとに:部署ごとに、見せるレコードを分ける
  3. 項目ごとに:単価や評価など特定の項目は、決めた人だけが見たり変えたりできるようにする

マニュアル:アクセス制御の概要
レコードのアクセス制御
項目のアクセス制御

Excelでの困りごと プリザンターでは ユーザマニュアル
最新版が分からない・同時に編集できない データは1か所のテーブルに集まり、全員がブラウザから同じ最新のデータを見て更新します。一覧の画面のまま表のように編集することもできます レコードの一覧編集
誰がいつ変えたか分からない 変更の履歴が残り、いつ・誰が・何を変えたかをあとから確認できます 変更履歴
期限の確認や連絡が手作業 登録や更新をメールやチャットで知らせたり、期限の近いものを定期的に知らせたりできます 通知
リマインダー

Excelの申請書の回覧・押印を、ワークフローに

申請から承認・差し戻し・完了までの流れを画面の設定で作り、承認のたびに次の担当者へ通知できます。申請の内容はそのままデータとして残るので、Excelへの転記の手間がなくなります。

マニュアル:承認ワークフローを作る
事例:勤怠や各種申請を、紙とExcelからプリザンターへ(株式会社システムメイク)

Excel・共同編集・専用システムとの違い

「Microsoft 365の共同編集で足りるのでは」と比べるときのために、違いをまとめました。

比べる点 Excel(ファイル共有) 共有Excel・Microsoft 365の共同編集 専用システム・SaaS プリザンター
同時編集・最新版 1人ずつ。コピーが増えやすい 同時に編集できる 同時に使える ブラウザから同時に使い、データは1か所
権限の細かさ ファイル単位が中心 ファイル単位の共有が中心 製品による テーブル・レコード(行)・項目(列)の単位
変更履歴 残しにくい ファイルの版の履歴が中心 製品による レコードごとに、誰がいつ何を変えたか
承認・通知 メールや紙で別に回す 別のしくみと組み合わせる 用途に合わせて用意されていることが多い ワークフロー・通知・リマインダーを画面で設定
マスタとの整合 VLOOKUPなどで参照。コピーがずれやすい Excelと同じ 製品が持つマスタに合わせる テーブル同士をリンクでつなぐ
処理の作り込み マクロ・VBA。作った人に頼りがち Excelと同じ 製品の範囲内。変更は提供元に頼むことが多い 計算式、JavaScriptのスクリプト、API
費用 Officeの利用料の範囲 Microsoft 365の利用料の範囲 利用者の人数に応じた料金が多い Community Editionは無料で人数の制限なし。年間サポートも1人ごとの料金ではない
データの置き場所 各PC・ファイルサーバー クラウドのストレージ SaaSは提供元のクラウド 自社のサーバー(オンプレミス)や自社で管理するクラウド

プリザンター以外の欄は一般的な傾向で、製品や契約によって異なります。

Excelの関数・マクロ・VBAは、こう置き換わる

ここからは、移行を担当する技術者の方に向けた内容です。Excelと同じ関数がすべて使えるわけではありません。使える関数は、マニュアルの関数の一覧で確かめてください。

Excelでは プリザンターでは ユーザマニュアル
四則演算・IF・ROUND・DATEDIF・LEFT などの関数 計算式(拡張)。$IF・$ROUND・$DATEDIF・$LEFT のように、関数名の前に $ を付けて書きます。SUMのようにセルの範囲を指定する関数は一覧に無いので、合計は項目を + でつなぎます 計算式
計算式(拡張)の関数
VLOOKUPでマスタから値を引く マスタのテーブルとリンクでつなぎ、必要ならルックアップで値を転記します(転記した値は、あとでマスタを変えても変わりません) リンク
ルックアップ
SUMIF・COUNTIFで明細を集計 サマリで、子テーブルの件数・合計・平均・最大・最小を親のレコードに入れます。一覧の集計にはクロス集計を使います サマリ
クロス集計
入力規則・シートの保護 選択肢一覧、正規表現による入力検証、状況(ステータス)に応じた入力必須・読取専用・非表示 入力検証
状況による制御
マクロの定型処理(保存時の計算・転記・チェック) サーバスクリプト(サーバースクリプト)。プリザンターのサーバーで動くJavaScriptで、「作成前」「更新前」「計算式の後」など動かすタイミングを選べます サーバスクリプト
サーバスクリプトの条件
毎朝・毎月などの定期実行 バックグラウンドサーバスクリプト(特権ユーザが設定。パラメータでの有効化が必要) バックグラウンドサーバスクリプト
画面の動きを変えるマクロ スクリプト(ブラウザで動くJavaScript) スクリプト
VBAから外部とやり取りする API。VBAからプリザンターのデータを読み書きできます(下のコード2) API

データモデル:1枚のシートを、マスタと明細に分ける

Excelでは、顧客名や住所を行ごとに書いたり、VLOOKUPで引いたりしがちです。プリザンターでは、顧客をマスタ(親テーブル)、受注を明細(子テーブル)に分けてリンクでつなぎます。顧客の情報は1か所だけに持つので、表記の揺れや直し漏れが起きにくくなります。

Excel:受注一覧(1枚のシート) 受注日 顧客CD 顧客名 住所 商品 数量 4/1 C001 A商事 東京都… 部品X 10 4/3 C001 A商事 東京都… 部品Y 5 色の列は、同じ顧客の情報が行ごとに重なっている マスタと明細に分ける 顧客マスタ(親) 顧客CD 顧客名 住所 受注明細(子) 受注日 顧客(リンク) 商品・数量 リンク 1件の顧客に、複数の受注がつながる 顧客名・住所は、顧客マスタの1か所だけに持つ
Excelの1枚のシートを、マスタと明細の2つのテーブルに分ける例

取り込むときは、親(顧客マスタ)を先に、子(受注明細)をあとにします。子の「顧客」の列に、親のタイトルと同じ形の値(タイトル結合で「顧客CD)顧客名」にした場合はその形)か、親のレコードIDを入れておくと、取り込んだ時点でリンクされます。

マニュアル:インポートとマスタのリンク

ExcelのデータをCSVで移す:手順と注意

まずは1つの業務から小さく始めるのがおすすめです。

1. テーブルを作る

標準で用意された200を超えるテンプレートから近いものを選ぶか、Excelの列に合わせて項目を用意します。

マニュアル:テンプレートから作る

2. ExcelのデータをCSVで取り込む

Excelの「名前を付けて保存」で「CSV(コンマ区切り)」か「CSV UTF-8(コンマ区切り)」を選んで保存し、テーブルの一覧画面の「インポート」から取り込みます。

マニュアル:レコードのインポート

3. 権限と通知を決めて、みんなで使い始める

見られる人・変更できる人を決め、必要な通知を設定すれば、ファイルを配らずに全員が同じデータで仕事ができます。

CSV取り込みの注意(ユーザマニュアルより)

  1. 見出し行:CSVの1行目の見出しを、プリザンターの項目名(エディタで設定した名前)とそろえます
  2. 文字コード:取り込みの画面で、CSVに合わせてShift-JISかUTF-8を選びます。英数字だけ取り込めて日本語が崩れるときは、もう一方を試します
  3. 日付:年-月-日の形は、年を4桁(yyyy-mm-dd)にします
  4. 更新か追加か:「IDが一致するレコードを更新する」か、顧客番号などのキー項目を指定すると、一致する行は更新、一致しない行は追加になります。キーの項目には重複禁止をあわせて設定することが推奨されています
  5. 作成者・作成日時:移行モードを使うと、元のデータの作成者・作成日時・更新者・更新日時を取り込めます(変更の履歴は取り込めません)
  6. 件数:クラウド版のPleasanter.netでは、1回の取り込みは10,000行までです。ID以外のキーで多くの行を取り込むと、時間がかかることがあります
  7. 列の数:Community Editionで使える項目は、分類・数値・日付・説明・チェック・添付ファイルの種類ごとに26個、合わせて156項目です。Enterprise Editionでは増やせます

インポート時のキー項目指定
移行モードでのレコードのインポート
レコードのインポートがうまくいかない場合の確認事項
データベースによる制限事項(項目の上限)

移行の前に決めておくこと

  1. 何を1行にするか:1行に明細を横に並べているなら、明細のテーブルに分けます
  2. 計算か手入力か:計算で出している列は計算式やサーバスクリプトに任せ、取り込むのは手で入れた値にすると、あとで食い違いません
  3. 集計の単位:集計用のシートは移さず、クロス集計やサマリで出します
  4. 端数処理:計算式の数値計算では浮動小数点の小さな誤差が出ることがあるため、金額などは $ROUND などで丸めます
  5. 使っていない列・ファイル:移す前に棚卸しします。TBKでは約150の業務アプリを精査し、使われていないものを除いた約90を移しました

本番の移行では

元のファイルを残したうえで一部のデータで試しに移し、しばらくExcelと並べて使ってから切り替えると安全です。

コード例:マクロの処理をサーバスクリプトに、ExcelからはAPIで

どちらもユーザマニュアルのサンプルをもとにしています。項目の名前(日付A・数値Aなど)は、お使いのテーブルに合わせて変えてください。

コード1:保存するときに、別の項目を計算して書き込む

マクロで計算していた項目を、登録・更新のたびにサーバーで計算します。この例は、日付Aの誕生日から年齢を計算して数値Aに入れます。

// 条件:計算式の後
// 日付A(誕生日)から計算した年齢を、数値Aに入れる
function ConvertDateToNum(date) {
    return date.getFullYear() * 10000
        + (date.getMonth() + 1) * 100
        + date.getDate();
}

function CalculateAge(birthdayVal) {
    const today = ConvertDateToNum(new Date());
    const birth = ConvertDateToNum(new Date(birthdayVal));
    return Math.floor((today - birth) / 10000);
}

model.NumA = utilities.InRange(model.DateA)
    ? CalculateAge(model.DateA)
    : 0;

出典:FAQ:編集画面を登録・更新する際に誕生日から年齢を自動計算したい

コード2:Excel VBAからAPIでデータを取り出す

見積書などの帳票はExcelに残し、データだけをプリザンターに寄せる移し方もできます。この例は、状況で絞り込んだレコードをAPIで取得します(抜粋。シートへの書き出しは出典を参照)。JSONの変換に、プリザンターに含まれないライブラリ(VBA-JSON・VBA-Dictionary)を使います。

' リクエストのパラメータを作る(状況が「100」「150」のレコード)
Set jsonRequest = New Dictionary
jsonRequest.Add "ApiVersion", "1.1"
jsonRequest.Add "ApiKey", APIKEY
jsonRequest.Add "View", New Dictionary
jsonRequest("View").Add "ColumnFilterHash", New Dictionary
jsonRequest("View")("ColumnFilterHash").Add "Status", "[""100"",""150""]"

' APIを呼ぶ
Set httpRequest = CreateObject("MSXML2.XMLHTTP")
httpRequest.Open "POST", "https://demo.pleasanter.org/api/items/" & SiteID & "/get", False
httpRequest.setRequestHeader "Content-Type", "application/json;charset=utf-8"
httpRequest.send JsonConverter.ConvertToJson(jsonRequest)

' 応答のJSONから、レコードの一覧を取り出す
Set parseResponse = JsonConverter.ParseJson(httpRequest.responseText)
Set Records = parseResponse("Response")("Data")

出典:FAQ:ExcelからPleasanterへアクセスしたい。登録・更新はAPIレコード作成・APIレコード更新の仕様に合わせて作ります。

Access・グループウェアからの移行

Accessの業務システムも、考え方はExcelと同じです。プリザンターにAccessを自動で変換する機能はありませんが、Accessの部品ごとに、プリザンターのどの機能で作り直すかは次のように対応します。

Accessでは プリザンターでは ユーザマニュアル
テーブル テーブル。データはCSVに書き出して取り込みます インポート
リレーションシップ リンク。親のテーブルから先に取り込みます リンク
クエリ 抽出・並べ替えはビュー、集計はサマリやクロス集計。ほかのシステムから使うならAPI ビュー
サマリ
フォーム 編集画面(エディタ)の項目の並びと、状況に応じた入力制御 エディタ
レポート 書式を決めたCSVのエクスポート、APIでExcelに取り込む帳票、認定パートナーの帳票出力のソリューション エクスポート
FAQ:帳票に出力して印刷したい
マクロ・VBA スクリプト(画面)とサーバスクリプト(保存時・定期実行) サーバスクリプト

ファイルを共有して使うデータベースの大きさや、同時に使う人の数に不安がある場合も、プリザンターならサーバーのデータベース(SQL Server・PostgreSQL・MySQL)にデータを置き、ブラウザから使えます。

グループウェアから移した例

トラック・バス用部品メーカーのTBKは、サポート終了となる既存のグループウェアから、約90の業務アプリをおよそ半年でプリザンターへ移しました。各部署のメンバーが自分たちで台帳を移す進め方です。

導入事例:株式会社TBK
グループウェア・Webデータベースからの移行の進め方

移行の進め方は3つから選べます

  • 自社で移す

    ユーザマニュアルと上のコード例をもとに、自社で移します。Community Editionは無料なので、まず自社の環境で試せます。作れる人を社内で育てるなら、公式トレーニング(初級〜上級、オンライン)もあります。

    公式トレーニング

  • 開発元に相談する

    年間サポートサービスでは、実装の相談やサンプルスクリプトの提供を受けられます。他のデータベースからのデータ移行の計画と実行、設計のレビューなどは、開発元の技術支援サービス(有償)で承ります。

    年間サポートサービス
    技術支援サービス

  • パートナーに任せる

    全国150社を超える認定パートナーが、導入支援やカスタマイズ、運用のサポートを提供しています。地域や業種、解決したい課題から探せます。

    認定パートナーを探す

システム開発会社・ソフトウェア会社の方へ

お客様のExcel・Accessの資産をWebデータベースへ移す案件に、プリザンターを使えます。自社のサーバーに構築できるので、自治体のようにデータを外部のクラウドに置きにくいお客様にも提案できます。認定パートナー制度では、開発元の支援を受けながら、導入支援やユーザーサポートを自社のサービスとして提供できます。

認定パートナー制度のご紹介

ずっと無料で商用利用できる

  1. 公開から10年。ITreview Grid Award ノーコードWebデータベース部門・ローコード開発ツール部門で、3年連続で最高位のLEADERを受賞
  2. 本番で安心して運用したくなったら、有償の年間サポートを付けられます。料金は利用者1人ごとではなく、ユーザー数の上限とシステム数で決まる年額です

年間サポートサービス(プランと料金)

脱Excelのよくある質問

Excelの関数はそのまま使えますか?

そのままではありません。計算式(拡張)で、マニュアルの関数の一覧にある関数($IF・$ROUND・$DATEDIF など)を使えます。一覧に無いSUMやVLOOKUPなどは、上の対応表のように置き換えます。
マニュアル:計算式(拡張)の関数

マクロ・VBAはどうなりますか?

自動では移りません。保存時の処理はサーバスクリプト、定期的な処理はバックグラウンドサーバスクリプトで、JavaScriptで書き直します。

何件くらいまで扱えますか?

扱える量は、サーバーの構成や使い方によって変わります。事例では、東洋アルミニウムが3000台以上の端末の資産管理を、Excelからプリザンターへ移しています。多くのデータや利用者を扱う場合は、年間サポートの契約プランに応じて使える大規模運用サポート機能(キューイング・レートリミットなど)や、技術支援サービスの性能改善支援もご検討ください。
マニュアル:大規模運用サポート機能

見積書などのExcelの帳票は使い続けられますか?

使えます。コード2のようにAPIでデータをExcelに取り込めます。松江土建では、使い慣れたExcel帳票をプリザンターのデータと連携して提供しています。

Accessから移行できますか?

できます。自動の変換ではなく、上の対応表のように作り直します。計画から任せたい場合は、技術支援サービスやパートナーにご相談ください。

無料で使える範囲と、年間サポートの違いは?

Community Editionは無料で、人数や期間の制限なく商用利用もできます。年間サポートサービス(有償)では、開発元のサポートエンジニアによる問い合わせ対応や実装の相談、サンプルスクリプトの提供を受けられ、項目数の拡張などができるEnterprise Editionを使えます。

オンプレミスで使えますか?動作環境は?

使えます。WindowsとLinuxのどちらでも動き、データベースはSQL Server・PostgreSQL・MySQLから選べます。実行環境は.NET 10です。Dockerのコンテナでも起動できます。
FAQ:動作環境や推奨スペック
マニュアル:Dockerではじめる

やめたくなったら、データを取り出せますか?

取り出せます。レコードを選ばずにエクスポートすると、テーブルのすべてのレコードをCSVで書き出せます。自社のサーバーに構築した場合は、データは自社のデータベースにあり、項目とデータベースの列名の対応もユーザマニュアルで公開しています。
マニュアル:レコードのエクスポート
項目名とDBの列名

脱Excelの導入事例

Excelやグループウェアでの管理からプリザンターへ移したお客様の事例です。業種・規模は事例の公開時点のものです。

東洋アルミニウム株式会社
製造業(アルミ製品)・従業員 連結2,506名
3000台以上の端末の資産管理で完全な“脱Excel”を行い、プリザンターへ移行。
Excelでは見えなかった“不確かな資産情報”を可視化しました。
ポリプラスチックス株式会社
製造業(エンジニアリングプラスチック)・従業員 連結2,383名
研究者が個々のPCのExcelで管理していた材料情報や試験データを、
プリザンターに登録して共有する業務フローを構築しました。
KHネオケム株式会社
製造業(化学)・従業員 連結825名
Excelの属人化と“野良マクロ”が課題に。
年間サポートサービスの支援を受け、業務アプリを内製化する体制を整えました。
株式会社TBK
製造業(トラック・バス用部品)・従業員 連結1,933人
サポート終了となる既存のグループウェアから、約90の業務アプリをおよそ半年で移行しました。
松江土建株式会社
建設業・従業員196名
Excelの限界から「脱Excel」に取り組み、
使い慣れたExcel帳票はプリザンターのデータと連携して提供しています。
株式会社シーイーシーカスタマサービス
情報サービス(IT運用サポート)
累計2000件を超え煩雑になっていた問い合わせ管理を、Excelからプリザンターへ。
約60業務に広げ、年間900時間の効率化につなげました。

お役立ちコンテンツ

プリザンター(Pleasanter)をより便利に活用するための学習・サポート情報をまとめています。
初心者から運用担当者まで、実践に役立つノウハウや事例をご紹介。

  • お悩み解決動画

    皆さまからお寄せいただいたプリザンターのお悩みを動画で解決します。

    プリなま

  • 関連ブログご紹介

    プリザンターに関連したバラエティに富んだブログ記事の新着をお届けします。

  • ユーザマニュアル

    はじめて触る方向けの基本説明からカスタマイズに必要な開発者向け情報まで。

プリザンターの導入をご検討中の方へ

いまExcelやAccessで管理している業務をどう移せるか、費用や進め方など、お気軽にご相談ください。