投稿

ラベル(typography)が付いた投稿を表示しています

DTPでよく使うエクセル関数の使い方を丁寧に紹介【文字列中の文字を抽出するMID関数】

イメージ
前回のブログ で、LEFT関数を紹介しましたが、文字列の途中の文字を抜き出したい場合は、MID関数を使います。 今回は、そのMID関数の使い方を紹介します。 目次 LEFT関数のおさらい MID関数 FIND関数のおさらい 住所から県名・市名を抽出する LEFT関数のおさらい 前回紹介 しましたが、今一度ここでおさらいをしておきます。 LEFT関数は、文字列の左端から指定された数の文字を抽出します。 =LEFT(文字列[,文字数]) 文字列    必ず指定。 取り出す文字を含む文字列(A2などのセル名や"あいう"などの文字)を指定します。 文字数    省略可能。 取り出す文字数を指定します。 詳しくは、 【初心者向け・DTP・InDesign用】Excelで文字の位置を調べ文字を抽出・分割する―FIND・LEFT関数 例1: B2:千葉県■市▲町12-34 =LEFT(B2,3) 結果:千葉県 MID関数 文字列の指定された位置から指定された文字数の文字を抽出します。 =MID(文字列, 開始位置, 文字数) 文字列    必ず指定。 取り出す文字を含む文字列(A2などのセル名や"あいう"などの文字)を指定します。 開始位置    必ず指定。 文字列から取り出す先頭文字の位置を数値で指定します。 文字列の先頭文字の位置が 1 になります。 文字数    必ず指定。 取り出す文字数を指定します。 参照: MID 関数、MIDB 関数 - Office サポート 例2: B2:千葉県■市▲町12-34 =MID(B2,4,4) 結果:12-34 FIND関数のおさらい 指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。 =FIND(検索文字列, 対象[, 開始位置]) 検索文字列    必ず指定。 検索する文字列を指定します。 対象    必ず指定。 検索文字列を含む文字列を指定します。 開始位置    省略可能。 検索を開始する位置を指...

DTPでよく使うエクセル関数の使い方を丁寧に紹介【まとめ】

イメージ
はじめに 注意: 関数の挙動についてはMac版Excelでの確認になります。Windows版については動作確認をしておりません。予めご了承ください。 DTP業界に従事していて、Excelを使ってのテキストの整形作業を行っている人はどれだけいるのかわかりませんが、自身はかなり多用しています。 筆者の仕事は、そうした方が効率的な内容のものだからです。 それらは、InDesignで「データ結合」することを前提としています。 名刺の大人数発注 DMなどの宛名印字 情報を冊子用テキストに変換 上記の上2つは、Excelで作成された名簿・個人録・一覧が、顧客より渡される場合が多くあります。そのテキスト類をExcel関数で加工し、レイアウトフォーマットに適合するようにします。 3番目は、予め関数を組み込んだExcelを顧客に渡し、それに必要なテキストを入力してもらいます。そして、入力されたテキストを別シートへ、関数で加工しながら読み込み、レイアウトフォーマットに適合するようにします。 これをすることで、作業効率は飛躍的に向上します。 手作業がほぼ無くなるので、反復作業から解放されます。 Excel関数での処理の考え方 Excel関数を使用することで、作業に伴うリスクを極力抑えることもできます。 テキストを手作業で加工する必要がなくなる。 →加工ミス、加工し忘れ、コピペミス、などのリスクを避けられる 原稿自体を触る必要がなくなる。 →ミスがどこの段階で発生したかが分かる 関数は原稿を参照するだけで、原稿を変更することはないからです。 目次―使用頻度の多い関数 DTPでよく使用する関数は、テキスト整形に関係するものになります。 以下に、よく使用する関数の一覧を挙げています。リンクから、各関数の使い方を紹介しているページへ行ってみてください。 ADDRESS AND ASC CHAR CLEAN COLUMN CONCAT CONCATENATE COUNTIF FIND IF IFS INDIRECT ISBLANK ISERROR ISINDEX JIS LEFT LEN MID NOT OR ROW RIGHT SUBSTITUTE TEXTJOIN TRIM VLOOKUP

DTPでよく使うエクセル関数の使い方を丁寧に紹介【文字位置を調べるFIND関数と文字を抽出するLEFT関数】

イメージ
テキスト整形用関数の紹介第3弾は、文字列内のある文字の位置を知る関数と、文字を抜き取る関数となります。 目次 はじめに FIND関数 LEFT関数 住所からビル名を除いたものを取り出す 具体例 はじめに 文字の位置を調べるFIND関数 文字列の左端から指定された数の文字を調べるLEFT関数 これらは、テキスト整形においては単独で使用することは余りなく、2つを組み合わせて使用することが多い関数です。 使用する場面は、あるセル中の文字列のある文字の直前までの文字列を抽出する場合です。 具体例として、スペースなどが挿入された、ビル名まで入力された住所の内、ビル名を除いた住所を取り出したい時など。 ではどのように2つの関数を組み合わせて使用するのかを見ていきましょう。 ある文字の位置を調べるFIND関数 FIND関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。 FIND 関数では、既定の言語の設定に関係なく、1 バイト文字も 2 バイト文字も、各文字が常に 1 つとして数えられます。 FIND関数の書式は以下の通りです。 =FIND(検索文字列, 対象[, 開始位置]) 「検索文字列 」必須。 検索する文字列を指定します。 「対象 」必須。 検索文字列を含む文字列を指定します。 「開始位置」省略可能。 検索を開始する位置を指定します。 対象の先頭文字から検索を開始するときは 1 を指定します。 開始位置を省略すると、1 を指定したと見なされます。 参照: FIND 関数、FINDB 関数 - Office サポート 使用例は以下の通りです。 例1:全角スペース(全角アキ)の位置番号を調べる A2:山田 花子 =FIND(" ",A2) 結果:3 例2:半角スペース(半角アキ)の位置番号を調べる B2:東京都港区麻布百番100-100 山田百番ビル =FIND(" ",B2) 結果:17 例3:ハイフンの位置番号を調べる C2:000-0000 =FIND("-",C2) 結果:4 文字列の左端...

DTPでよく使うエクセル関数の使い方を丁寧に紹介【文字列を結合する関数:CONCATENATE・CONCAT・TEXTJOIN】

イメージ
テキスト整形で、「置換」と同じくらいによく行うのが「結合」です。 ですが、実は「結合」の関数は何種類かあり、また関数を使用しない方法もあるのです。 目次 CONCATENATE関数 テキスト結合演算子「&」 CONCAT関数 TEXTJOIN関数 まとめ CONCATENATE関数 現在最も一般的な「結合」の関数は、CONCATENATEになります。 CONCATENATEの書式は以下の通りです。 =CONCATENATE(文字列1[,文字列2], ...,[,文字列255]) 「文字列1」は必須項目 「文字列2」以降は省略可能 「文字列X」には、テキスト値、数字、セル参照のいずれかを指定。Xは255まで指定可能。 ※セル参照:セルA1とかセルB2などのA1やB2のこと。 参照: CONCATENATE 関数 - Office サポート 使用場面としては、住所が「都道府県」「市区町村」「町名」が予め分割されて入力されている時に、印字はすべてつながった状態にしたい場合などによく使います。 例1 C2:東京都 D2:港区 E2:麻布百番 F2:100-100 G2:山田百番ビル =CONCATENATE(C2,D2,E2,F2,G2) 結果:東京都港区麻布百番100-100山田百番ビル 住所とビル名の間に半角アキを入れたい場合は、 =CONCATENATE(C2,D2,E2,F2," ",G2) 結果:東京都港区麻布百番100-100 山田百番ビル と、関数内の「F2」と「G2」との間に「," "」(半角コンマ"半角アキ")を挿入すればよいのです。 テキスト結合演算子「&」 実は、関数を使用しなくても結合は出来てしまいます。 それは、「&」を使用することです。 この「&」は テキスト結合演算子 といい、CONCATENATE関数と同じテキストの結合をします。 例2 A2:山田 B2:花子 =CONCATENATE(A2,B2) 結果:山田花子 と、CONCATENATE関数を使用しても構いませんが、 例3 A2:山田 B2:花子 =A2&B2 結果:山田花...

DTPでよく使うエクセル関数の使い方を丁寧に紹介【文字列を置換するSUBSTITUTE関数】

イメージ
テキストの一部分を置換したい―SUBSTITUTE関数 Excel原稿が顧客から送られてきたら、まず最初に確認しておきたいのが、入力されたテキストが統一されているかどうか、です。 「スペース」を例にしますと、「氏名」の「氏」と「名」の間にスペースの入っていることが多いかと思います。 このスペースが半角、全角どちらかで統一されているかどうか。 下手をすると、全角スペース1つかと思ったら半角スペース2つだったりすることもあります。 1つのExcelを1人で入力する場合でも、複数の人間が入力する場合でも、入力の不統一はよくあることです。 ただ、入力が統一されていないと、完成レイアウトは不統一で不細工になります。 このような不統一を解消するために、不統一部分を統一したものに差し替える作業をすることになります。 それをするのが、テキストを置換するSUBSTITUTE関数になります。 SUBSTITUTE関数の書式は以下のようになります。 =SUBSTITUTE(元の文字列,検索する文字列,置き換える文字列[,位置]) SUBSTITUTE関数のカッコ内の各文字列には直接文字を入れるか、セルを指定するかします。直接文字を入れる場合は「"置換"」のように「""」で囲みます。 例1:A1セルのテキストの「痴漢」を「置換」に差し替える。 A1:この文字列を痴漢します。 =SUBSTITUTE(A1,"痴漢","置換") →この文字列を置換します。 SUBSTITUTE関数の書式の最後にある[,位置]は、対象テキスト内に同じ文字列が複数ある場合に、テキストの左から何番目の文字列かを指定することができます。 例2:A1セルのテキストの左から3番めの「痴漢」を「置換」に差し替える。 A1:この文字列を痴漢して痴漢され痴漢いたします。 =SUBSTITUTE(A1,"痴漢","置換",3) →この文字列を痴漢して痴漢され置換いたします。 他に、 REPLACE 関数というものがありますが、自分の実務経験上使用する場面はありませんでしたので紹介に留めます。( REPLACE 関数、REPLACEB 関...

何回目かのウェブサイト全面リニューアル

イメージ
ちょっと思うところあって7回目の 拙サイト 全面改修を挙行。 今回は見映えなどの大幅変更というよりも細かい箇所の改装が主目的だったが、構造見直しのためHTMLは全取っ替え。以下に今回の改修点を列挙。 横幅を960pxから1200pxへ ヘッダおよびサイドメニューの固定化 不要になったページの削除 「上に戻る」ボタンの削除 メニュー展開時のアイコンのアニメ追加 文字詰めjQueryの追加 横幅変更 横幅は現状1200pxでも大丈夫と(勝手に)判断し変更。そのついでに今まで左寄せにしていたレイアウトを左右中心揃えに。そのTIPSはネット上に沢山転がっているので割愛。 サイドメニュー固定 ウェブ、ショウジン さんの記事「 サイドメニューとフッターメニューをCSSのposition:fixedで固定する例 *一応「IE6」もいける。 」を参考にした。深謝! サイドメニューに該当するCSS #side { width: 100%; float:left; position: fixed; overflow: auto; background-image: url("../images/common/eszett_logo01.jpg"); background-repeat: no-repeat; background-position: 3.6rem top; } #sideWrapper {width: 180px;} 上記赤字の「position: fixed;」を追加することでサイドメニューは固定される。 そして、今回の密かな目玉である「eſzett」ロゴを背景に追加しこれもサイドメニューと共に固定させるために、上記青字を追加。幅100%はサイト全体の横幅に対する設定で、これにより背景ロゴはサイドメニューに設定しているにも関わらず中途で切れずに(サイドメニュー自体は#sideWrapperにて幅180pxに設定)表示される。 コンテンツ部分のCSS #main { width: 900px; float: right; overflow: auto; position: relative; margin-bottom: 6rem; } コンテンツ部分のCSSにて、赤字の「float: r...

HTMLで文字詰め出来るJavaScriptとjQuery

イメージ
日頃WEBのテキストで句読点および括弧類が連続して出現する場合の詰め処理をしたくてどうしたものかと思案していたら、素晴しいJavaScript(とjQueryの混合)を発見。このスクリプト、要はペアカーニングを任意に設定できてしかも2つの括弧類連続を設定するだけで括弧類が3つ以上連続してもちゃんと詰めてくれる。いやはやありがたや。ということで今回参考というか丸々活用させていただいたのは FLAutoKerning.js というスクリプト。 HTMLで文字詰めするタイポグラフィー用JS | fladdict 感謝深謝。 カーニングのペアを自動処理 今回の組版の設定は、基本ベタ組みで、句読点および括弧類が2つ連続した場合「全角二分取り」になるような、つまりは二分分詰まるような、オーソドックスな設定で試してみる。そして今回の句読点および括弧類は 起こし括弧類:「『([{〈《【〔 受け括弧類:」』)]}〉》】〕 句読点類・中点:、,。.・ の計21種の組合せに詰め設定を施すが、この組合せを配列にて自動化した。 jQuery(function($){ var pncPrn = ["」","』",")","]","}","〉","》","】","〕","「","『","(","[","{","〈","《","【","〔","、",",","。",".","・"]; for (var x=pncPrn.length; x--;){ for (var y=pncPrn.length; y--;){ p[pncPrn[x] + pncPrn[y]] = -0.6; } } }); 上記jQueryにて設定した句読点括弧類の【 組合せ 】をFLAutoKerning.js内カーニングペア定義の箇所に追...

JavaScriptとjQueryで文字サイズ・行高・行取り・見出し行数から見出しのマージンを自動計算

イメージ
ワタクシがwebデザイン上一番気にするのが見出しのマージン。いつもその時の感覚で決めるが、しっくり来ないことが多々ある。何か巧い方法が無いものかと『 文字の組方ルールブック ヨコ組編 』の「見出しの構造と組方」を眺めていて、自動計算出来るかもと思いjQueryメインに適宜JavaScriptを組み込みスクリプトなるものを書いてみた。 2013.5.14追記 デモページの内部に書き込んでいたこのスクリプトを外部ファイル化。 上下マージン比1:1時と8:5時を ボタンで切り替えられるデモページ を追加。 参照 日本エディタースクール編. 文字の組方ルールブック ヨコ組編 . 本エディタースクール, 2001 JavaScript:文字を数値に変換する方法その2 | THE HAM MEDIA BLOG line-height の値には単位なしが良いとされる理由 - lucky bag Can I use rem units? ほか、色々なサイト・ブログを参照させていただいた。深謝。 注意 なにせjQueryはおろかJavaScript、いやプログラミング全般に素人なので間違ってたりする可能性があるので、使用時は自己責任でお願いする。 実作したweb組版 本文の文字サイズ・1行の字詰・行間(行送り)などを決めると版面が決まる。見出しもその版面に則り「行取り」の方法でその上下のアキを決めていく。具体的には下図をご覧あれ。本文だけでなく見出しも行に綺麗に乗っているのがわかる。 本文サイズ12px、行高22px、行間10px、42字詰。各見出しサイズなどは図の通り。 完成形をブラウザで表示後キャプチャし、イラレで作成した水色の版面上にキャプチャ画像を配置した。 web組版の注意点 行送りの設定方法がDTPと異なる。 webの行送りはline-heightで設定するが、これは厳密には文字通り行の高さを設定するもので、アキの付き方は以下の図の通りになる。 本文上下のグレー網がline-heightで設定されるアキ これを踏まえて版面設計や見出しのマージンを算出する。 見出しマージンの計算式 ということで、計算式を導くために、下図のように必要な部分を設定。 var bFont = body要素(本文)のfont-size var bHe...