ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの関数に関する質問です。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
またまた質問です。
環境はXP、Excel2003です。

CSV形式のファイル(同じ形式で異なる企業のデータが入っています)の特定の列に、2つの数字(例:6,7)の両方が入っている場合にのみ、1の値、それ以外(例:6のみ、データなし)の場合は0の値をかえしてくるような関数はあるでしょうか?IF関数の応用版でありそうな気がするのですが、分かりません。

CSVファイルの数が1000以上と多いのですが、それらのファイルを開けない状態で、1枚のエクセルシートに
   (ファイル名)   (特定の値(6,7)両方が入っていれば1,それ以外の場合は0)
     A        B
1  ファイル1     1
2   ファイル2     0
3  ファイル3     0
4  ファイル4     1


1000 ファイル1000  0



といった形でアウトプットを出力するような関数があればご教示いただけませんでしょうか?

よろしくお願いします。



コメント(55)

> 何か変?

6があったら(7がなくても)1になっちゃいますね。
>Kusakabeさん、

コメントありがとうございます。Windows XP環境です。言葉足らずで申し訳ないです。
awkはWindowsXP環境ではデフォルトでは使えないようです。

>シンディさん、
リンクありがとうございました。インストールしてもXPではうまく使えませんでした。

なんとかEXCEL VBAでとらいしてみます。

皆さん、本当にありがとうございました。


ちょっと横槍。

awkがWindowsに無いのであれば、VBSを使えば良いのでは?

VBAとかVBに似てるんですが、俺にはVBSを組む能力が無いんで組めないですけど。。。
>Kusakabeさま、

何度もお世話になっております。
awk、XP SP2上で、インストールしてみて、実行したのですが、
一瞬コマンドプロンプトと同様の背景が黒のウィンドウが現れてすぐに
消えてしまいます。何が原因か分からないのですが、せっかくコード
まで書いていただいたのにうまく使えずに残念です。
Pathの設定に問題があるのでしょうか?設定するやり方も分からないです。。。


>魔流さま、

アドバイスありがとうございます。VBSも分からないです。

一念発起してPerlなど勉強する必要性を感じてきました。
ただ、awkはかなり直感的に理解しやすそうですので、
何とか使いたいなと思っているのですが。

>12
最近はWindowsでもExcel使えるのかー

>18
うーむ、うちのWindows XP SP2ではちゃんとうごいたよー

矛盾
>12と18の『どこが矛盾してるの』と素直に質問してるんだがー

>どこが矛盾だろう?

質問している文章ではない!

自分の思いを書き込んでるだけだと思うけど
Windows XP SP2を持っているのに…
「最近はWindowsでもExcel使えるのかー 」と知らない素ぶりをしているところ

あっ!
Windows使えないのか?
じゃ、矛盾じゃないや!
>Kusakabe さま、

実行したのですが、
一瞬コマンドプロンプトと同様の背景が黒のウィンドウが現れてすぐに
消えてしまいます。

>それは、
>『実行した』==『exeファイルをダブルクリックした』なのではー?
>そんなことしちゃだめだよー

まさにそうやってしまってました。
それ以外でどうしたら使えるのか??です。



あなたの所有しているWindows XP SP2搭載PCに
Excelは、付属してないの?
と聞いただけなのに

>してるわけない。
>Windows XP SP2つかったことないのかー


自己中心的理解(笑)
>kusakabeさん、

コマンドプロンプト自体は実行されます。

そこでのデフォルトのpathが、

C:\Documents and Settings\koji2008>

で、

そこで、

C:\Documents and Settings\koji2008>awk

と入力すると、

「 'awk' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Documents and Settings\koji2008>  」

とかえってきます。。。

awkのexeファイル自体を、このpathにもってきてはいます(マイドキュメント
にいれています)。。




http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
からひろってきたファイルを
awk.exeとして保存して使おうとしております。

gawkではないです。
Kusakabeさん、便乗回答ごめんなさい。
私もawkを使えるようになりたいと思ってちょっと試してみたのですよ。
(なのでスクリプトの内容はほとんど分かりません)

WindowsXPのデフォルトではマイドキュメントのpathは

C:\Documents and Settings\(ユーザ名)\My Documents

らしいです。私の環境もそうでした。

コマンドプロンプトではなくバッチファイルで
z.csvなどに保存するというのはいかがでしょうか?

foo.awk, foo.bat, awk.exe, a.csv, b.csv, c.csv

以上六つのファイルを同一フォルダに入れて、
foo.batをダブルクリックしたらz.csvが作成されました。

**** foo.bat の内容 ****
awk -f foo.awk *.csv > z.csv

**** foo.awk の最後の部分 ****
function out() {
if (six == 1 && seven == 1)
print name, FS, 1
else
print name, FS, 0
}

**** z.csvの内容 ****
a.csv , 1
b.csv , 0
c.csv , 0

ファイル名の次の半角スペースが邪魔な気がしますが、
エクセルでtrim関数を使うしかないですか?
OFS = ","ってしたらCSVで出力できますよ。
>ゆはえさん、
>シンディさん、
>Kusakabeさん、

ご教示、大変ありがとうございました。

私の初歩的な質問に丁重に応えてくださってありがとうございました。

awkのexeファイルをデータの入っているフォルダにコピーし、foo.awk、foo.batもゆはえさんのアドバイスにより実行しようとしてもうまくいかず、何でだろうと原因を一から見直してみました。。

みなさん、ごめんなさい。エキスプローラーの拡張子が登録されているものは非表示設定になっており、私がメモ帳で編集した、awkファイルと思っていたもの、batファイルと思っていたものがすべて、テキストの(*.txt)の拡張子で保存されておりました。そりゃ、プログラムが走るわけありませんでした。

大変お騒がせいたしまして申し訳ありません。

直しまして、コマンドプロンプト、バッチファイル両方の方式で、実験的に200ほどのファイルで見事に必要な列に必要な数字があることを見分けてくれている結果ファイルを作成してくれました。

全くの初心者の私に懇切丁寧にアドバイスしていただきましてありがとうございました。

これを機に、awkに関してもっと学習してみます。関心が沸いてきました。

>Kusakabeさん、本当に何度もありがとうございました。
>Kusakabeさん、

>うーむ、awk95.exeってのをひろって、gawk.exeっていう名前に変更しているっていう意味ですよね?

↑これをawk.exeとして保存してます。gawk.exeも別途入手しましたが、これは結局用いておりません。
何度もありがとうございました。


>Kusakabeさん、

上記のページ参考にさせていただきます。コンパネセッティングは早速拝見します。
何から何まで本当にありがとうございました。

テキストデータ(CSVデータ)の膨大な量を扱うことがこれから増えていく仕事
に手を染めてしまっております。AWKは非常に早く計算してくれて驚きました。
EXCELのマクロだったらたぶん非常に長時間計算にかかったと思います。

また初歩的な質問などするかもしれませんが、今後ともよろしくお願いします。

ありがとうございました。
>Kusakabeさん、

はい、やってみます!ありがとうございます。
問題が解決した後なので今さらですが

>44 なので、一応、コマンドプロンプトでもできるようにしておかないと。

同感です。いきなりバッチファイルはマズイですね。
訂正させて下さいな。

>42 (誤) コマンドプロンプトではなくバッチファイルで
>42 (正) コマンドプロンプトを試した後はバッチファイルで
>ゆはえさん、

アドバイスありがとうございました。
ゆはえさんのアドバイスのおかげで、私が初歩的な間違いをおかしていることに気づきましたので本当に助かりました。ありがとうございました。

ログインすると、残り34件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。