Tuesday, 14 July 2020

DTP(特にInDesign)に使えるExcel初心者のための関数とテキスト整形―SUBSTITUTE関数


はじめに

DTP業界に従事していて、Excelを使ってのテキストの整形作業を行っている人はどれだけいるのかわかりませんが、自身はかなり多用しています。

それは仕事の内容がそうさせているのですが。


  • 名刺の大量発注
  • DMなどの宛名印字
  • 情報を冊子用テキストに変換(申請書類のような決まったフォーマットがExcelで作られており、そこからInDesignなどに流用できるように加工すること)


    上記の上2つは、InDesignで「データ結合」をする前段階に、レイアウトフォーマットに適合するようにデータをExcelの関数で加工する場合です。

    3番目は、InDesignで「データ結合」ができるように、セルの移動などをExcelの関数で加工する場合です。(これは実際に例をご覧いただかないと理解していただけないと思いますので、後のブログで改めて説明します)

    これらは、Excelの同じシート内の別セル、または別シートに関数を仕込んで自動的にテキストを整形させます。

    これをすることで、作業効率は飛躍的に向上します。
    手作業がほぼ無くなるので、反復作業の苦行から開放されます。

    ということで、ここではテキスト整形およびセル移動に絞ったExcel関数の使い方を紹介して参ります。

    また、関数の挙動についてはMac版Excelでの確認になります。
    Windows版でも、一部を除いて同様の動作になります。

    処理の仕方の考え方

    関数を使用することで、作業に伴うリスクを極力抑えることも考慮します。

    • 原稿であるExcelに近いところで作業を行う。
      →Excelデータを他のソフトへ移す際のコピペミスなどのリスクが発生する
    • 原稿のExcelを複製して元原稿は残しておく。
      →原稿のミスかどうかが分かるようにしておく
    • 原稿のデータ自体には触らない。
      →原稿のミスかどうかが分からなくなる

    特に最後の項目を考慮するには、関数を使用するのが良いことになります。
    関数は元データを参照するだけで、元データを変更することはないからです。

    目次―使用頻度の多い関数

    テキスト整形で使用頻度の多い関数です。
    今回はSUBSTITUTE関数を紹介しますが、順次紹介していきます。

    • ADDRESS
    • AND
    • ASC
    • CHAR
    • CLEAN
    • COLUMN
    • CONCATENATE
    • FIND
    • IF
    • INDIRECT
    • ISBLANK
    • JIS
    • LEFT
    • LEN
    • MID
    • NOT
    • OR
    • ROW
    • RIGHT
    • SUBSTITUTE
    • TRIM
    • VLOOKUP


    一番最初に考慮するテキスト整形は「置換」―SUBSTITUTE関数

    まず最初に確認しておきたいのが、Excelのテキストは統一されたフォーマットで入力されているかどうか、です。

    「スペース」を例にしますと、「氏名」の「氏」と「名」の間にスペースの入っていることが多いかと思います。
    このスペースが半角、全角どちらかで統一されているかどうか。
    下手をすると、全角スペース1つかと思ったら半角スペース2つだったりすることもあります。

    1つのExcelを複数の人間が操作するための不統一もよくあることです。
    これは中々統一させるのが難しいのはよく分かります。

    ただ、入力が統一されていないと、レイアウト上不統一で不細工になります。
    関数での処理上でも不具合が発生する可能性があります。

    このようなことを考慮して、あるテキストを別のテキストに差し替える作業をすることになります。

    それをするのが、テキストを置換するSUBSTITUTE関数になります。

    SUBSTITUTE関数の書式は以下のようになります。
    =SUBSTITUTE(元の文字列,検索する文字列,置き換える文字列[,位置])

    SUBSTITUTE関数のカッコ内の各文字列には直接文字を入れるか、セルを指定するかします。直接文字を入れる場合は「"置換"」のように「""」で囲みます。

    例1:A1セルのテキストの「痴漢」を「置換」に差し替える。
    A1:この文字列を痴漢します。
    =SUBSTITUTE(A1,"痴漢","置換")
    →この文字列を置換します。


    SUBSTITUTE関数の書式の最後にある[,位置]は、対象テキスト内に同じ文字列が複数ある場合に、テキストの左から何番目の文字列かを指定することができます。

    例2:A1セルのテキストの左から3番めの「痴漢」を「置換」に差し替える。
    A1:この文字列を痴漢して痴漢され痴漢いたします。
    =SUBSTITUTE(A1,"痴漢","置換",3)
    →この文字列を痴漢して痴漢され置換いたします。


    他に、REPLACE関数というものがありますが、自分の実務経験上使用する場面はありませんでしたので紹介に留めます。(ネット検索すると使用方法が出てきます)

    この関数は

    • Macに付属の「Numbers
    • Google Spread Sheet

    でも使用可能です。

    Excel関数以外でも置換はできるが…

    Excel関数以外でも置換は行なえます。


    • Excelの「検索・置換」機能
    • テキストエディタの「検索・置換」機能
    • InDesignの「検索・置換」機能


    自分も作業状況や作業リスクを考慮して上記3つのいずれかを使用する場合もあります。

    しかし、上記「処理の仕方の考え方」で示した通りに処理した方が結果は良くなると思います。。

    また、SUBSTITUTE関数はこれ単体での使用ではなく、他の関数との合わせ技で使用する方が多いのです。(合わせ技についてはまた改めて記事にします)







    Thursday, 9 July 2020

    初心者こそ読んでほしい、初心者が調べたPHP開発環境の選び方【ざっくり比較とおすすめ】


    PHPの正式名称

    1.「Personal Home Page Tools」:略称「PHP Tools」

    2.「Forms Interpreter」:略称「FI 」

    3.「Personal Home Page Construction Kit」

    4.「PHP/FI」

    5.「PHP: Hypertext Preprocessor」:略称「PHP]

    PHP: PHPの歴史 - Manual

    上記の通り1〜5の順に変遷している。



    PHPとは

    動的にWebページを生成することができるサーバーサイドのスクリプト言語。スクリプトはHTMLファイルに記述しておき、ユーザーからWebブラウザーによって処理を要求されたときに、サーバー側でスクリプトを実行し、その結果をクライアントに返すという仕組み。MySQLやOracleといったさまざまなデータベースに対応しており、データベースを扱うWebアプリケーションの開発が容易であるという特徴がある。

    参照:ASCII.jpデジタル用語辞典PHP: PHP とはなんでしょう? - Manual



    なぜPHPを学ぶのか

    とある案件で作品紹介ページがあり、作品一覧を表示する時にHTMLのみで構成しているので、掲載作品が増えるたびに手作業でHTMLを追記していくのが非常に面倒で。



    また作品追加は頻繁にないので、しばらく追加しないと、どこのタグを複製すれば良いのか忘れていて作業に時間がかかる。



    この作業を簡単にに効率よくするには、作品をデータベースに格納して操作するのが良いので、この操作が得意なPHPを使うのが良いのだと知った。



    PHPはどうやったら使えるか

    PHPを書いたファイルをwebサーバ上に配置すれば動作する。

    しかし動作確認のためにいちいちサーバサイドにアップして確認するのはちょっと手間。

    なのでサーバサイドにアップすることなくPC上だけで開発が出来てしまうのが「開発環境」と呼ばれるもの、らしい。

    「開発環境」には、webサーバ、PHP、データベース管理システムなど、webアプリケーション開発に必要なソフトウェア一式が含まれているということだ。



    では「開発環境」はどれが良いか

    PHPの開発環境は色々あるみたいで、何がどうなのか初心者の自分には良く分からない。



    がそんな事も言っていられないので、ネットで先達たちが公開して下さっている情報を見つつ、各開発環境の特徴や違いを以下にまとめてみた。




    MAMP
    元はMac上に構築できるWebアプリケーションに必要なソフトウェアをパッケージ化したもの。ローカルサーバ環境一式。現在はWindows版もある。


    XAMPP
    クロスプラットフォーム(Linux / Windows / macOS / Solaris)上にWebアプリケーションに必要なソフトウェアをパッケージ化したもの。ローカルサーバ環境一式。


    LAMP
    Linux上に構築できるWebアプリケーションに必要なソフトウェアをパッケージ化したもの。ローカルサーバ環境一式。


    LARAGON
    Windows上に構築できるWebアプリケーションに必要なソフトウェアをパッケージ化したもの。ローカルサーバ環境一式。動作が軽量で今熱いらしい。まだ日本語の情報が少ない。


    Neard
    Windows用のポータブルWAMPソフトウェアスタック。よくわからない。


    WampServer (WAMP)
    Windows上に構築できるWebアプリケーションに必要なソフトウェアをパッケージ化したもの。ローカルサーバ環境一式。


    Vagrant
    Linux / Windows / macOS / Debian / CentOS上に仮想マシンをとても簡単シンプルに構築・操作するソフトウェア→PHPの開発環境を仮想環境に構築することができる。Webアプリケーションに必要なソフトウェアは別途仮想環境上にインストールする必要がある。


    Docker
    Windows / macOS上に構築できるコンテナ仮想化ツール。Webアプリケーションに必要なソフトウェアは別途仮想環境上にインストールする必要がある。



    初心者が思うおすすめは

    上記でサクッと調べた結果、初心者なりにおすすめが何となく分かったので。



    まず初心者は色々慣れるために、


    • macOSならMAMP、WindowsならXAMPPから始める方が良いかな。

      →不明点などはネットで調べれば日本語でたくさん出てくる。

      →PHP関連本もどちらかの導入から始まる。


    • 英語ができるWindows使いならば、LARAGONが熱いかも知れない。

      →海外では今一番注目されている、らしい。

      →動作が軽いらしい。


    • VagrantDockerは、MAMPやXAMPPで一通り慣れた後の次の段階という位置付け。

      →仮想環境の構築するもので、これを入れた後、PHPやApacheやMySQLなどを個別にインストールする必要がある。

      →でも今、特にDockerは初心者でもいきなり勉強する人が増えているのか、人気があるらしいから、一足飛びしても良いかも知れない。

    こんな感じだろうか。


    自分は初心者でMac使いなので、MAMPを導入しようと思う。







    Wednesday, 8 July 2020

    アプリケーションとソフトウェアとプログラムの違いはあるのかないのか【初心者がPHP学習のために本気で用語を調べてみた】

    はじめに

    現在自分自身PHPを勉強しようと準備を進めている。
    PHP関連の書籍を購入したり、Udemyに登録しようかとか(まだしてない)、ネットで調べたりとかしている。
    その時改めて思ったのが、「用語の意味の把握があやふやだ!」ということ。
    PHPの書籍を読んでいたら、意味がはっきり理解できない、頭に全然入ってこない。
    「アプリケーション」て?「ソフトウェア」て?「プログラム」て?
    こんな基本中の基本の用語やその他諸々の用語の意味がきちんと理解できていない。うわっつらだけで判った気になっていたということ。

    ということで、必要だと思われる用語について本気で調べようと思い立つ。
    英英辞書でも調べたが、意外なことまで判明して色々べんきょうになる。

    まず最初に調べた用語は、「アプリケーション」、「ソフトウェア」、「プログラム」だ。
    3つとも似たような意味合いで使われることが多々あり、結局の所意味の違いはあるのかないのか。
    さてどうなることやら。

    用語解説

    【アプリケーション】
    アプリケーション
    パソコンやサーバー、スマートフォン、タブレットなどにインストールされたOS上で動作する、ワープロ、表計算、画像編集など、作業の目的に応じて使うソフトウェアのこと。アプリケーション・プログラムまたはアプリケーション・ソフトウェアの略称。
    参照:コトバンク
    類義語:アプリケーションプログラム、アプリケーション・プログラム、アプリケーションソフト、アプリケーション・ソフトウェア、応用ソフトウェア、応用プログラム、アプリ

    application【可算名詞】
    A program or piece of software (such as a word processor or a spreadsheet) that is designed to perform a particular task or set of tasks.
    参照:OneLook Dictionary Search / ロングマン現代英英辞典
    類義語:application program, application software

    【アプリ】
    アプリ
    アプリケーションまたはアプリケーション・ソフトの略称。特に、スマートフォンやタブレットなどのアプリケーション・ソフトを指すことが多い。
    参照:コトバンク

    app
    An application, especially as designed for use on a mobile digital device (such as a smartphone).
    参照:OneLook Dictionary Search

    【ソフトウェア】
    ソフトウェア
    コンピューターを動作させる手順や命令を記述した文字列(プログラム)やデータのまとまりの総称。システムの運用に関する文書化された情報を含めることもある。一般的なコンピューターでは、コンピューターの基本的な制御を担当するOS(オペレーティングシステム、基本ソフト)と、実際の作業の処理を担当するアプリケーションソフト(アプリケーション、応用ソフト)に分かれている。
    参照:コトバンク―ソフトウェアソフトウエア
    類義語:ソフトウエア、ソフト

    software【不可算名詞】
    The (sets of) programs and other operating information that tell a computer how to do a particular job.
    参照:OneLook Dictionary Search / ロングマン現代英英辞典
    類義語:computer programs, computer software

    【プログラム】
    プログラム
    コンピュータに行わせる処理手順(アルゴリズム)の指示を、コンピューターが判読できる形式(プログラム言語)に従って記述したもの。
    参照:コトバンク

    program
    a series of coded instructions that a computer follows in order to perform a particular task.
    参照:OneLook Dictionary Search / ロングマン現代英英辞典
    類義語:computer program, software program

    まとめると…

    • ソフトウェアは、コンピューター上で様々な処理を行うプログラムの総称。OSやアプリケーションを含む。対義語はハードウェア。
    • アプリケーションは、特定の目的や作業用にOS上で動作するプログラム。ソフトウェアに含まれる。世間一般に「ソフト」と呼ばれるのはこれを指す。対義語はOS、基本ソフト。
    • アプリは、特にスマホやタブレットで使うアプリケーションを指す。
    • プログラムは、コンピューターなどで動作させる手順や命令を記述したもの。ソフトウェア、アプリケーション、アプリはこれで記述されたもの。

    本来「software」は不可算名詞なので、プログラミングされたものなど全体を表す漠然とした言葉でザクッとして掴みどころがないのはしょうが無いか。
    アプリケーションの本来の名称は「application software」で、これを見ればソフトウェアの一種と分かる。
    アプリは、日本と同じく英語圏でもスマホやタブレット用のアプリケーションを指すようだ。

    ということで、何となく分かったかな、と思う。

    参考サイト



















    Sunday, 21 June 2020

    Wordpress初心者がさくらインターネットにインストールしてみたらやらかした

    一度はWordpressを設定してみたいと思いながら過ぎ去ること幾数年、今回ついに思い立ってやってみることにした。しかし案の定、迷いに迷い遂にはやらかしてしまったことがあったので、これから挑戦しようと考えている方へ、注意喚起と備忘録を兼ねてここに報告したい。

    現在レンタルサーバーは「さくらインターネット」で「さくらのレンタルサーバ スタンダード」を借りているので、さくらインターネットでの設定方法でのお話になることはご寛恕いただきたい。

    また、さくらインターネットでのWordpressのインストール方法等は、ネット検索をかけると山のようにあるので、好みの情報を参考にするようにお願いする。(検索ワード「Wordpress さくらインターネット」で結構な数見つかるはず)

    で、やらかした件だが、さくらインターネットの場合、「サーバコントロールパネル」からWordpressをインストールするのだが、その画面は以下のようになっている。


    まず上記画像のAに自分が保有しているドメイン(例:https://www.example.com/)を入力する。そしてBを選択してサブディレクトリ、つまりWordpressをドメインにぶら下げておく階層を新たに設定する、という流れである。
    だけども何をどうしたのか今となっては不明だが、Bの設定がうまく行かずに、ドメインにそのままWordpressをインストールするという事態に陥ってしまったのである。
    本来ドメインには、自身のwebsiteがあったのだが、それがWordpressに差し替わってしまってwebsiteが行方知れずになってしまったのである。
    Wordpressをインストールしていろいろな設定をある程度まで済ましてから気付いたので、虚無感が半端なかったのである。

    せっかくインストールしたWordpressをアンインストールするはめになり、またさい者からやり直しと相成りました。

    皆さん、お気をつけくださいませ。

    それから、今回はさくらインターネットでのWordpressのインストールについて話したが、新規で借りる場合は「wordpress レンタルサーバー 比較」でネット検索かけることをオススメする。Wordpressはサーバーに負担がかかってくるらしいので、なるべく性能の良いところを自分なりに検討してみるのが良い。その中でもエックスサーバーConoHa WINGを勧めているブログも多々あったりするので。自分のベターなサーバーを探してみてくれ。

    自分は長年さくらインターネットで今はまだ引っ越す予定はないのだけれども。



    Wednesday, 20 September 2017

    【EXCEL関数】セル内の余分なスペースやセル内改行を一瞬で取り去りたい時の関数

    先に、結論から言うと、
    CLEAN(SUBSTITUTE(SUBSTITUTE(A1," ","")," ",""))

    なぜこれが必要か?

    自分だけでExcelに入力する分には全く必要がない代物である。

    ただ、案件によって、他人に、それも組版作業を知らない人に、必要項目の入力をしてもらうことがママあって、このような場合、Excel上での見栄えを気にして、スペースを使ったインデントやセル内改行などをしてこられるのである。

    こちらからとしたら、見栄えは組版でするので無駄になると言ってもしてこられるので、ナンとも。。。

    スペースはまだしも、特にセル内改行は、ExcelからInDesignにコピペする時に非常に厄介。セル内改行のせいで、表が崩れまくるのである。事故の元である。

    これを手作業で削除しても埒が明かないし、余計なものを消してしまう恐れもあるので、上記の関数を捻り出した次第。

    本来なら、スペースやセル内改行以外の制御文字なども考慮に入れるべきかもしれないが、今までの傾向からしてスペースやセル内改行のみなのと、関数が今以上に煩雑になるのもなぁと思い、今回はこんな感じで落ち着いたのである。

    関数の解説

    CLEAN 関数
    CLEAN 関数は、ASCIIコードの印刷できない先頭の32文字(10進法表記で0~31)を削除するために設計された。

    Excelのセル内改行コードは、

    • Windowsでは、LF(ASCIIコードの10進法表記で10)
    • Macでは、CR(ASCIIコードの10進法表記で13)

    であり、ASCIIコードの印刷できない先頭の32文字に含まれている。

    故に、単純に、セル内改行を削除したいセルがA1とすると、CLEAN(A1)とすればよいだけ。
    (詳細は、CLEAN 関数 - Office サポート - Office Support

    SUBSTITUTE関数
    SUBSTITUTE関数は、あるセル内の特定の文字列を別の文字列に置き換えるもの。
    SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])
    (詳細は、SUBSTITUTE 関数 - Office サポート - Office Support

    今回は、スペースを削除したいのだが、スペースには、全角と半角の2種類が主に使われて混在することもよくあるので、この2つを1つの関数で一気に削除したいので、
    セルA1の全角スペースを削除する場合:
    SUBSTITUTE(A1," ","")
    文字列にはセルA1を、検索文字列には""の間に全角スペースを、置換文字列には何も指定せず単に""を各々入力。
    次に、
    セルA1の半角スペースを削除する場合:
    SUBSTITUTE(A1," ","")
    文字列にはセルA1を、検索文字列には""の間に半角スペースを、置換文字列には何も指定せず単に""を各々入力。

    全角スペースと半角スペースを一度に削除したいので、2つのSUBSTITUTE関数を合体させる。
    どうするか。
    どちらかの関数を、もう一つの関数のA1と差し替える。
    SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
    この場合、半角スペースを削除するSUBSTITUTE(A1," ","")のA1を、全角スペースを削除するSUBSTITUTE(A1," ","")に差し替えた。

    これで、全角スペースと半角スペースを一度に削除できる。


    で、最後に、SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")を、CLEAN(A1)のA1と差し替えると、冒頭の関数の出来上がり。
    これで、セル内の余分なスペースやセル内改行を一瞬で取り去ることができる。











    Thursday, 7 September 2017

    liberalの意外な意味と叙述用法で後ろにつく前置詞について


    鷲田 清一、 山極 寿一 著『都市と野生の思考』(集英社インターナショナル)で、liberalの意外な用法を知った。

    それまでは、
    1.自由な;自由主義の
    しか知らなかった。

    これ以外にも、
    2.寛大な、心の広い;公平な;偏見のない、柔軟性のある
    3.しみなく与える、気前のいい
    などがあることを今回知ったのである。。

    で、上記2、3の意味では、叙述用法が可能だが、literalの後に続く前置詞で多少混乱してしまった。というのは、辞書によっては載っていたり載っていなかったりするのである。

    be liberal inとbe liberal to

    2.の意味では、

    • be liberal in
    • be liberal to

    と、intoが、ジーニアス英和辞典の初版に載っていた。
    しかし、ウィズダム英和辞典第3版では、inのみが載っていた。

    では、他の辞書ではどうなのか。

    書店で、各種英和辞典および英英辞典を立ち読みしてきたが書店さん申し訳ないです、両方ともほぼ載っていなかった。

    で、ジーニアス英和辞典最新版(第5版)もあったので見てみたところ、

    ナント、両方とも載っていなかった!

    うむむ、辞書はちゃんと最新版に更新しなければイカンな、と心に思った次第(アレ、着地点が違う)

    話を元に戻すと、他にもネットの英英辞典、コーパス、Google検索なども見てみたが、キチンとした感じでは見つけられなかった。
    イディオム的な感じでは意識されていないのか?
    この辺は不明である。。。

    be liberal withとbe liberal of

    3.の意味では、

    • be liberal with
    • be liberal of

    と、withofが、ジーニアス英和辞典の初版に載っていた。
    しかし、ウィズダム英和辞典第3版では、withのみが載っていた。

    では、他の辞書ではどうなのか。

    こちらも書店で、各種英和辞典および英英辞典を立ち読みしてきたが(引き続き書店さん申し訳ないです)、両方とも載っているものもあり、withのみが載っているものがあった。

    で、ジーニアス英和辞典最新版(第5版)も見てみたところ、

    ナント、withのみの掲載になっていた!

    他にネットの英英辞典、コーパス、Google検索なども見てみたが、withのみが大半であった。

    結論としては、ほぼすべての辞書に、イディオム的にbe liberal withとして掲載されている。

    2017.9.8追記

    リーダース英和辞典第3版と新英和大辞典第六版でも確認してきた。

    2.の意味では、
    リーダース英和辞典は、intoが、
    新英和大辞典では、両方とも掲載なし。

    3.の意味では、
    リーダース英和辞典は、withのみが、
    新英和大辞典では、withと、なんとinが載っていた。










    Thursday, 31 August 2017

    【英語の勉強】極悪ゴリゴリリフなバンドと極悪タイトルなアルバム



    BAND: Accuser
    ALBUM: Diabolic
    RELEASED: April 12, 2013

    ドイツのベテランスラッシュメタルバンド。

    元来、好きなアルバムは『Repent』で、これがまた極悪な硬い硬いゴリゴリなリフが特徴で堪らないのであるが、今回紹介するアルバム『Diabolic』は、発売当初はピンとこなかったのに、今聴くと「良いではないか」と相成った。なんなんだろう。

    それはさておき、このアルバムタイトルと、その類義語を調べたので以下に挙げていく。

    diabolic
    /dàiəbɑ́lik/
    悪魔の(ような)、魔性の

    diabolical
    /dàiəbɑ́likəl/
    残忍な、極悪非道の、邪悪な
    悪魔の(ような)、魔性の

    satanic
    /sətǽnik/
    悪魔の、魔王の、サタンの;悪魔を礼賛する、悪魔の影響を受けた
    邪悪な、残忍な、悪魔のような

    demonic
    /dimɑ́nik/
    狂暴な、残忍な
    鬼の;鬼のような、悪魔のような

    fiendish
    /fíːndiʃ/
    残酷な、悪魔のような

    infernal
    /infə́ːrnl/
    ひどい、いまいましい
    地獄の

    unholy
    /ʌnhóuli/
    神聖でない、不浄な
    邪悪な、罪深い、不信心な

    Mephistophelean, Mephistophelian
    /mèfɪstəfíːljən/
    メフィストフェレスの(ような)、悪魔的な、陰険な、冷笑的な

    devilish
    /dév(ə)liʃ/
    悪魔のような;極悪な、残忍な


    それにしてもまた字面が極悪になってしまった。。。