ラベル 表計算 の投稿を表示しています。 すべての投稿を表示
ラベル 表計算 の投稿を表示しています。 すべての投稿を表示

2009年10月9日金曜日

Excelの文字列結合関数concatenate で、ダブルクォーテーションを結果に使いたい

��xcelの文字列結合関数concatenate で、ダブルクォーテーションを結果に使いたい

 表計算ソフトの文字列結合関数CONCATENATEをうまく使えば、定型文などが簡単に作れます。
定型文はいいのだけれど、ダブルクォーテーションを含んだ戻り値を得たい時にはどうすればいいのでしょうか。

concatenate関数では引数となる文字列をダブルクォーテーションで挟みますので、ダブルクォーテーションを引数に使用とするとエラーとなります。

=concatenate("ab","cd")  ← 戻り値 abcd
=concatenate("ad",""")   ← エラーとなります


どうすればダブルクォーテーション付きで結果を返せるかというと、
ダブルクォーテーション付きの内容を別のセルに書き込んでおき、そのセル番地を引数にすればOKです。

A1 "なになに"
=CONCATENATE(A1,"と言った。")

とすれば、このセルには「"なになに"と言った。」と書き込まれます。




表計算 EXCEL CONCATENATE 関数 文字列操作関数 ダブルクォーテーション


2009年8月24日月曜日

エクセルで3乗根を求めるには

エクセルで3乗根を求めるには

 エクセル(でなくても表計算ソフトで使えます)で、平方根(厳密に言えばプラスの数値を返すから「ルート」ですか)を求めるには、sqrt関数を使います。

 例えば
  =sqrt(4)
とセルに入力すれば「2」と答えが表示されます。


 では、3乗根を求めにはどうすればよいのでしょうか?
 「3乗根は 1/3乗」
なので1/3乗を求める計算式を書けばよいのです。

 例えば8の3乗根なら
  =8^(1/3)

とセルに入力すれば「2」と答えが表示されます。
「^」は「●乗」を求める記号です。


ちなみに、4乗根なら1/4乗、5乗根なら1/5乗、n乗根なら1/n乗すればいいのです。
なら、平方根(すなちわ2乗根)なら1/2乗でよいのではないか、と思う人もいるでしょう。

試しに、
  =9^(1/2)
と入力すれば、ちゃんと「3」と答えが表示されます。
ただ、組み込み関数 sqrt が用意されているので、内部演算がどうなっているかわからないですが、組み込み関数の方が演算誤差などに配慮されていると考えられるので、「ルートを求めるとき」はsqrtを使う方がよいでしょう。

エクセルでデータの範囲に名前を付ける一工夫

エクセルでデータの範囲に名前を付ける一工夫

 マイクロソフトエクセルでデータの範囲に「名前」を付けるには、マウスで範囲をドラッグしたりShiftキーを押しながら矢印キーで範囲を選択してから、シート左上(数式バーの左)にある「名前ボックス」に付けたい名前を入力して「Enter」でOKですね。

 確定した範囲なら、これでいいのですけれど、データ継ぎ足していく毎に名前の範囲を変更するのも面倒なものです。
 私が行っている一工夫は、最後の1行に空白行を入れておいて、データの入力前にこの空白行のところに行挿入(セル挿入で「下方向にシフト」でも可)でデータを入力する行を作ってからデータを入力します。
 こうすれば、範囲内の行挿入なので名前を付けたデータの範囲が広がって、好都合です。

エクセルでヒストグラムを作る

エクセルでヒストグラムを作る

マイクロソフトエクセルで分析ツール使用してもできますが、毎日のように追加のあるものに、いちいち分析ツールを適用して値を求めなおすのは面倒なものです。

ヒストグラムは区間の毎に数を数えればいいのですから、条件に合った数を求めるcountif関数を使えばなんとかなります。

 書き方は
  =countif(データの範囲、検索条件)
です。


 「データの範囲」のところには、データの範囲に予め「名前」を付けておいた方が、ヒストグラムでは区間を沢山変えて作る必要があるので、コピーペースとしても範囲が変わってしまわないので都合がいいです。

 ここではデータの範囲に予め「データ」と名前を付けているとして説明します。


 次に「検索条件」ですが、「1」とか「10」とかのようにダイレクトに数値を指定することはもちろんできますが、ヒストグラムだと区間は「**以上、@@未満」というような数の範囲です。
 都合が悪いことに、検索条件には「">10"」のように1つの条件は入れられますが、2つの条件は入れられません。

 そこで、countif関数を2つ合わせ技で用います。

 例えば 100以上、200未満の個数を求めたい場合には
  =COUNTIF(データ,">=100")-COUNTIF(データ,">=200")
とします。
 前半の「COUNTIF(データ,">=100")」で100以上のデータの個数を求めます。それから、後半の「COUNTIF(データ,">=200"」で200以上のデータの個数を求めて引いています。

 「200未満」を求める場合なので「200」が入らないように後半には「=」が付いています。

 あと、注意事項として、検索条件のところに数値ではなくて式を書く時にはダブルクォーテーション「"」で挟むことをお忘れなく。


 後は、必要な区間だけ、これを作ればいいことになります。範囲に名前を付けているので、別のセルにコピーペーストしてもデータの範囲はずれません。でも、検索条件のところもそのままなので、範囲に合わせて書き換える必要があります。

先にエディタで
=COUNTIF(データ,">=0")-COUNTIF(データ,">=100")
=COUNTIF(データ,">=100")-COUNTIF(データ,">=200")
=COUNTIF(データ,">=200")-COUNTIF(データ,">=300")
などと書いておいて、コピーペーストでエクセルに貼り付ける方法を使えば少し楽かもしれません。