▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 88
ttp://pc11.2ch.net/test/read.cgi/bsoft/1257003834/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 ・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
★1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
★2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
★3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。 以上でテンプレ終わり
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 会社のサーバに、複数の人が使うファイルを置いています。 マクロでこれを開いて追記するとき、ActiveWorkbook.ReadOnlyで 誰かが使ってたら中止するようにしました。 このとき、誰が使ってるかのメッセージは出せますか? 今、自宅でPCが1台しかないので、何も確認ができません。
使用している人まで追跡できないけれど、パソコンは指定できるよ。 ファイルを開く際に、同じディレクトリにa.txtがあるかを調べる 無ければ誰も使っていない。 あれば使っている。 とかは? エクセルには ファイルを開いたらそのディレクトリにa.txtを作成 閉じる際にa.txtを消すようにする。 みたいなのをマクロで作って。 どのPCかは、適当にPC情報をa.txtの中に記述するマクロで。
9 :
名無しさん@そうだ選挙にいこう :2009/12/26(土) 23:51:40
テスト
>>7 UserStatusやWriteReservedByプロパティなんてのがあるらしいが
その用途で使えるかどうかは知らない。
11 :
名無しさん@そうだ選挙にいこう :2009/12/27(日) 01:34:51
エクセル2007.WINXP. 関数の FREQUENCY についての質問です。よろしくお願いします。 この関数を使いD1:D50に数値を出してみました。 その後、そこのセルを間違ってクリックして文字をうちこんでしまいました。 やべっ!と思い文字をけしたのですが、もとはどのように書いてあったのか忘れてしまいました。 ENTERをおすと ”配列の一部を変更できません” とコメントが出てきます。 なにをしてももとの状態にもどれません。Ctrl + Z でやってももどれないのです。 データ保存してないのでなんとか保存できる状態にしたいのですが、、、 現在、お手上げ状態です。どうか解決策を教えてください。お願いします。
>>11 パソコンの電源ボタンを長押しして、お風呂入って、布団に入って、目を閉じて、羊の数を数えると思い出すよ。
まずはやってみよう。
13 :
名無しさん@そうだ選挙にいこう :2009/12/27(日) 02:00:10
>>12 困っています。対処法を教えてください。お願いします。
電源切ってまたエクセル開くと自動保存されてるってことでしょうか?
ESCキーかね
15 :
名無しさん@そうだ選挙にいこう :2009/12/27(日) 02:21:28
>>14 本当にサンクスです。こんなことできたんですね。今まで気がつきませんでした。
ESC つかえますね。
ありがとうございました。
【1 OSの種類 .】 Windowsvista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートフィル excel 連続データ 指定 A1セルに =100*B5 という数式を入力して 100の方を50刻みで増やすようオートフィルで連続データ入力しようとしたのですが =100*B5 ←A1セル =150*B5 ←A2セル と手作業で入力した後A列にオートフィルで連続データ入力すると =100*B5 =150*B5 =200*B6 =250*B7 =300*B8 =350*B9 となってしまいます。B5の数字は増やさないようにオートフィルで 連続データ入力するにはどうすればよいのでしょうか?
17 :
名無しさん@そうだ選挙にいこう :2009/12/27(日) 12:42:48
【1 OSの種類 .】 WindowsXP(2000、VISTA、7(64b)もあります。) 【2 Excelのバージョン 】 Excel2003(07も可ですが、できれば特定の端末で使用したい。) 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Googleやヘルプでの検索キーワード マッチング、絞り込み、パターン等で検索しましたが、見つかりませんでした。 それぞれ独立した塩基配列のパターンが50あります。それを80個あるパターンのどれか 重複無く必ず当てはまる(余りが30ほどでます。)データがあり、例えばサイズとか形状により マッチングしていく作業があります。 トランプで言うところの、30枚の裏に伏せたカードのうち、52枚のどれかを特定していく作業です。 ここで、プルダウンメニュー等には4以上9以下とわかっている場合にはそれらの、5が既に特定 出来ている場合には4,6,7,8,9の候補だけを、マークがわかっている場合にはハートだけ選択で きるようにしたいのです。VBA等で別のダイアログを表示させても構いません。 そのような不確定なデータの特定を行い、一覧を完成させるための補助機能が欲しいのです。 無論、機能としては52枚のデータがその都度表示されても構わないのですが、作業の性格上 そのような機能があればミスも減らせ、楽になるのではないかと思ったものですが、そのために 普段、エクセルでシートを製作することの少ない自分には、都合の良い機能が見つかりませんでした。
>>17 あいまいでわからない。具体例は。
シートの構成は。
どうやって対象Celの候補の範囲を絞り込むの。
>>18 ありがとうございます(´;ω;`)
助かりました!
21 :
名無しさん@そうだ選挙にいこう :2009/12/27(日) 21:12:00
>>21 あなたの質問は、神経衰弱や7並べのルールを説明して
これをExcelで作ってくださいと言っている様なもの。
どういうふうにデータが並んでいて、どれをどうしたいのか。
自分でどこまでやって、何ができないのか。
そういった事が具体的な話がないと、答えようが無い。
一から全部作ってなら、お金払って誰かに頼むのがはやいよ。
>>22 意味不明。
ルールを説明してもらってこの上何が不足なんだ?
お前が答えられないだけのくせに質問者を貶めるな。
>>22 質問者様がこれだけ説明してくださっているんだ
塩基配列なんてわからんならググれ
シートやセルの形式なんか暇なおまえらが作れ
・・・と
>>17 は言ってるとエスパーしてみる
>>17 1−3の数字をA1-A3にいれるとする
B1-B3にリスト。
b1=IF(COUNTIF($A$1:$A$5,1)=0,1,"")
b2=IF(COUNTIF($A$1:$A$5,2)=0,2,"")
b3=IF(COUNTIF($A$1:$A$5,3)=0,3,"")
A1のデータ、入力規則、設定、リスト
もとの値を
=$B$1:$B$5
A2A3にコピー
これでリストの中に一度選んだものは入らなくなる
b列はc列に入力したものを参照させて、
b1=IF(COUNTIF($A$1:$A$5,c1)=0,c1,"")
と変えた方が良いかもしれない
>>19 例で示せばいいんじゃね
これだけ言えば聡明な
>>17 はきっと理解出来るでしょう
>>25 大体あなたと同じ答えを用意してた。
B列は=IF(ISNA(VLOOKUP(A1,C$1:C$7,1,FALSE)),A1,"")だけど。(コピーできるので)
だけどね、こちらがあれこれ想定して、そこはソウじゃないんだって
やりとりが続くのがやだったのよ。
嫌なら答えなきゃいいのに小出ししてくるほうが悪いんだから寝る
まったくだ。嫌なら答えなければよい。どうせつまらない回答しかできない連中だ。
特に
>>22 >どういうふうにデータが並んでいて、どれをどうしたいのか。
>自分でどこまでやって、何ができないのか。
>そういった事が具体的な話がないと、答えようが無い。
だってよ。笑わせるな。神経衰弱や七並べなんて「具体的」だろう。
30 :
名無しさん@そうだ選挙にいこう :2009/12/28(月) 13:14:31
エクセル2007.winXP ■質問です。よろしくおねがいします。 A B c D 4 a 56 8 h 120 1 k 89 2 s 560 6 h 340 - f 97 A列にて - の行の 97 っていうのを D1にいれたいのでえすがどのようにすればよいですか すみませんがおしえてください。お願いします。 =if(a1:a100,"--", ,,,ここまで入力してみたのですがこの先、、、思考停止してしまいましたw ) どうやら IF ではだめそうです。どの関数をつかえばよいのでしょうか。ヒントをください。 お願いします。
=VLOOKUP("-",A:C,3,FALSE)
32 :
名無しさん@そうだ選挙にいこう :2009/12/28(月) 13:27:37
>>31 新しい技を覚えさせていただきました。
ありがとうございました。
33 :
名無しさん@そうだ選挙にいこう :2009/12/28(月) 21:05:58
>>22 わかりました、それではまず、自分で作ったものをどこかにアップロードします。
参照の仕組みからして、根本的にやり方がまずかったと思いますので、
この状態から作り変えるのは余り得策ではないと思いますし。
実際には本番の業務用の製作があるわけですから、機能を満たす
簡単な説明で構いません。
個人的にはリストオブジェクトの選択データを変更したときをトリガーに、
VBAコードを走らせるしかないかな、と思っていたりするのですが。
オブジェクトのプロパティを一個ずつ弄るのすら膨大な作業量になるのに、
たとえユーザー関数(VBAではサブルーチンでしたっけ)をCallするだけと
言えど、いちいち記述しなければならないと思うと非常に困難な気がします。
やはり、Excelの機能に詳しい方なら何か知っているのではないかと
思っていたりするのですが。
card
ttp://www1.axfc.net/uploader/Sc/so/68334
スルー推奨
35 :
名無しさん@そうだ選挙にいこう :2009/12/29(火) 11:45:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 プルダウンの内容を状況に合わせて変えることはできないでしょうか? 例えば、セルA1、B1にそれぞれプルダウンがあるとして A1のプルダウンは"和食","洋食","中華"の3つが選べる。そして A1で"和食"を選んだ場合はB1のプルダウンは "寿司"、"天ぷら"、"すき焼き" A1で"洋食"を選んだ場合はB1のプルダウンは "ハンバーグ"、"スパゲティ"、"カレー" A1で"中華"を選んだ場合はB1のプルダウンは "ラーメン"、"チャーハン"、"ホイコーロ" を選べるようにするとか。そんな感じです。 何がやりたいかというと、多すぎる選択肢を ジャンルで絞り込めるような記入表を作りたいんです。
>>35 まずデータを名前定義しておく。やり方がわからなければ検索
和食・・・寿司〜
洋食・・・ハンバーグ〜
中華・・・ラーメン〜
A1はその定義名を選択させる。
そして、B1の入力規則、元の値に
=INDIRECT(A1) と入力。
37 :
名無しさん@そうだ選挙にいこう :2009/12/29(火) 12:12:04
>>36 ありがとうございます。早速チャレンジしてみます。
=HEX2BIN("321") が #NUM! エラーになってしまうんですが、どうしてでしょう? アドインはきちんと入れてあり、=HEX2BIN("123")はきちんと100100011になるのですが。 2003と2007で試しましたが同じ結果です。
>>38 こういうことじゃね
HEX2BINのHelpより
>数値 に FFFFFFFE00 より小さい負の数を指定することはできません。また、数値 に 1FF より大きい正の数を指定することはできません。
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2002 1つのセルの大きさが印刷時に60*25mmになるようにしたいのですがどうしたらいいですか?? 初歩的な質問ですいません。
41 :
名無しさん@そうだ選挙にいこう :2009/12/29(火) 20:27:32
>>40 2002だったらオートシェープで多少のサイズ指定は出来るけど、
セルにしろなんにしろ、完全にそのサイズにすることは 無理〜
>40 ページ設定での倍率は1%きざみで調整できたと思うので、セルのサイズでぴったりにできない 場合はこれも調整してみては?
44 :
名無しさん@そうだ選挙にいこう :2009/12/30(水) 03:16:12
★ 使用OS(Windows XP Home Edition SP3) ★ 使用ソフトウェア名とバージョン(Excel 2000) 作業予定表と作業完了表の2つがあるのですが予定表では500行ほどあるのに完了表では300行ほどしかありません 予定表の作業が終わった行の横に○を表示させたいのですがどのような関数を使えばいいのでしょうか 予定表では A 1 ○○課 会議室A 会議内容 2 ○○課 会議室B 会議内容 となっているのですが 作業表では ○○課 会議室A 会議内容代表者名 ○○課 会議室D 会議内容代表者名 と末尾に余計なものがついています
>44 当方Excel2003なので万一利用できないときはレス願います。 ワイルドカード("*")を併用したMATCH関数でチェックできます。 予定表シート、作業表シートとも A列2行目 から内容が入っているものと仮定して 予定表のB列2行目に =IF(OR(ISERROR(MATCH(A2&"*",作業表!$A$2:$A$300,0)),A2=""),"","○") って入れて、下にドラッグコピーしてください。
47 :
単乳 :2009/12/30(水) 23:57:20
置換の際に数字と記号すべてをなくしたいのですがどのように検索すればいいのでしょうか
49 :
名無しさん@そうだ選挙にいこう :2009/12/31(木) 08:00:34
★ 使用OS(Windows XP Home Edition SP3) ★ 使用ソフトウェア名とバージョン(Excel 2003) コントロールやフォームにあるリンクするセルを参照先も相対的に移動しながらコピーしたいのですが $マークを解除するだけではできませんでした。ヘルプを読んでも相対参照になるはずなのですが、 どうもうまくいきません。(セル操作では成功しました。)
( ̄− ̄)フーン
>>49 決まりごとについてあった対象となるオブジェクトも一応列挙して置きます。
コントロールオブジェクトのコンボボックス(ドロップダウンリスト)の単一指定、リストボックスの単一指定、
チェックボックス、オプションボタン、スピンボタン、スクロールバーの単一指定、フォームオブジェクトの
コンボボックス(ドロップダウンリスト)の単一指定、リストボックスの単一指定、チェックボックス、
オプションボタン、スピンボタン、スクロールバーの単一指定における、リンクするセルの絶対参照です。
あけおめことよろ
53 :
複乳 :2010/01/02(土) 10:14:00
あけおめことよろん
54 :
名無しさん@そうだ選挙にいこう :2010/01/02(土) 14:21:35
プロキシ経由で掲示板に1行目から順に掲示板へ連続投稿するマクロって組めますか?
マルチ
本年もよろしくおねがいします 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002、2003 マクロで編集したファイルを、社内LANで繋がったサーバに書き込むとき、 稀に書き込めないときがあります。(サーバの不具合で、手動でやっても書き込めないとき) このエラーが出たら、予め決めておいたところ(C:\data\など)へ書き込むようにしたいのですが、 エラー番号とかで分岐するにはどう書けばいいでしょうか?
「5」と入力すると「5」と表示されると思うのですが、 「5」と入力して「5枚」と自動で表示されるようにするには どのようなトリックを使用すれば良いですか? (5枚と入力すればおkは無しでお願いします)
58 :
名無しさん@そうだ選挙にいこう :2010/01/04(月) 04:24:48
lookup関数を使ってるのですが、検索値を任意のセルに指定して、90M7と 打っても、A5とでてしまいます。A2とでてほしいのですが。 検索範囲は05Mより下を指定。範囲はA01より下を範囲指定しています。 A01 05M7 A02 90M7 A03 03M7 A04 02M A05 06M
>>57 書式→セル→ユーザー定義→種類の枠内に #"枚" でおk
60 :
名無しさん@そうだ選挙にいこう :2010/01/04(月) 06:28:06
61 :
名無しさん@そうだ選挙にいこう :2010/01/04(月) 06:36:05
>60 lookup(E5,A1:A5,B1:B5) E5が任意のセルで90M7と入力 A1:A5→A01からA05 B1:B5→05Mから06Mを選択してます
62 :
複乳 :2010/01/04(月) 10:10:08
仕事の実務で、エクセルのグラフってつかう? 自分の経験でいいんだが? 俺は使ったことない・・・ああいうのって経営企画とかそういう職種がつかうのかな?
64 :
複乳 :2010/01/04(月) 18:31:05
私も無い 営業事務が会議資料を作るときに使ってるけど誰か一人でも見てるのかは不明
プレゼン用の資料作成時に使うけど?
そういえばパワーポイントだった orz
グラフは良く使うよ。 経営幹部なんて、百万円単位でしか数字を見ないし、 前年比とかカテゴリ別とか、会議があるたびに色々と要求される。
68 :
56 :2010/01/04(月) 23:25:15
ググってみましたが、これでいいのかよく分りません。 意図的にエラーも起きないので、アドバイスお願いします。 On Error Resume Next 'Pはサーバ Workbooks(BN).SaveAs Filename:="P:\data\" & BN If Err.Number = 70 Then Workbooks(BN).SaveAs Filename:="C:\data\" & BN End If
69 :
名無しさん@そうだ選挙にいこう :2010/01/05(火) 12:38:53
セルをリストボックス化させ、リストのデータを他のシートから抽出したい。 データの入力規則でセルをリストボックス化させた時は、リストのデータは固定値しか設定できません。 なので、やむをえずコントロールとしてリストボックス化させるのですが リストボックス化させたいセルが何百もあるので、1個1個コントロールを追加していくのが面倒です。 何か良い方法はないでしょうか?
70 :
名無しさん@そうだ選挙にいこう :2010/01/05(火) 13:14:12
すみません解決しました、ありがとうございました
71 :
名無しさん@そうだ選挙にいこう :2010/01/05(火) 15:59:15
山田と言う漢字が複数の列にあって あるセルにはふり仮名があって(例えば、山田と言う漢字にふりがな、やまだ) 違うセルには空白なのですが(例えば、山田と言う漢字にふりがなは空白) つまり同じ漢字でも並び替えをしたら順番にならない これを避けるために選択した列の漢字の振り仮名をまとめて空白にしたい場合 どうすればいいのでしょうか?
>71 並べ替えのオプション画面を開くと「ふりがなを使う」「ふりがなを使わない」の選択ができます。
73 :
複乳 :2010/01/05(火) 17:43:58
>>71 一度メモ帳にコピー
そしてメモ帳からエクセルにコピーすればふりがなの情報はなくなる
WindowsXP 2002 Application.ScreenUpdating = False と書いてマクロを実行したとき、ブックを閉じたような グレー画面になるときがあります。これの原因と対策を教えてください。
75 :
複乳 :2010/01/06(水) 09:43:12
>>74 それは画面の描画をさせなくするための物
原因はApplication.ScreenUpdating=falseにしたため
対策はApplication.ScreenUpdating = true
そうじゃなくてdoevents系の開放処理の話じゃねーのそれは?
>>75 質問をよく読んで出直せ
あと、描画と再描画は違う
78 :
複乳 :2010/01/06(水) 12:10:31
計算結果に%をつけたいんですがどうやったらできますか?
80 :
複乳 :2010/01/06(水) 16:27:52
>>79 右クリックの書式設定で パーセンテージを選択
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 条件にあった値の合計etx 以下のような表があります。 人A 人B 月 期 年 月 期 年 項目あ 項目い 項目う 項目え 項目お ここで、項目い、う、えの月分だけの合計を出したいときに、 関数を使って旨く出せないでしょうか。 SUMIFを使っても、一番上の行の計算しかしてくれず困っております。
>>82 =SUM(SUMIF(A:A,{"い","う","え"},B:B))
A列に項目、B列に合計するデータの場合。
84 :
複乳 :2010/01/06(水) 17:43:49
>>82 単純に足し算とか
=SUMIF(A:A,"い",B:B)+SUMIF(A:A,"う",B:B)+SUMIF(A:A,"え",B:B)
85 :
74 :2010/01/07(木) 00:57:51
>>75 説明不足でしたね。
フォルダ内に入ってるファイルを開いて閉じてを繰り返してるときの現象ですが、
マクロを実行したときの画面のまま終わるときもあれば、
途中でブックを閉じたときのようなグレーの画面になるときがあります。
で、終了すると元の画面に復帰します。
>85 何故その症状の原因がApplication.ScreenUpdating = False だと思ったの?
87 :
名無しさん@そうだ選挙にいこう :2010/01/07(木) 15:30:10
課題なんですがわからないので教えてください。 excell2003 winxp y=asinx+bsin2x+csin3xのグラフ(折れ線でつないだ散布図)を書け。 ただしa,b,cは定数とし、それぞれどこかのセルを参照すること。 xは0.1感覚で0〜20までの値をとるようにすること。 というものなんですが一体全体どうしたらいいのかわかりません>< お願いします
参考書買え
友達に聞けよそんなもん
優しすぎワロタw だけど、エクセルの使い方自体わかってないだろうから 多分それ見ても作れないだろ
90は “散布図” になってないんだがw
これは散布図のプロパティをちょっといじって
数学のグラフらしく見えるようにしてあるだけ。
この程度のことができない
>>92 はExcel使い失格。
このスレのやつ、プライド高すぎ
95 :
名無しさん@そうだ選挙にいこう :2010/01/07(木) 20:49:21
済みませんが教えてください Excelで、近似式を書いて、統計的な妥当性を調べた式なのですが、例えば Y=59.305e^0.0022X という式が得られたとして、 Yの値を任意に設定したときに、Xの値を算出する事って出来ます? どのようにやればよいかを教えていただけるとありがたいのですが
96 :
名無しさん@そうだ選挙にいこう :2010/01/07(木) 22:35:53
オートフィルターや関数で重複する値を表示させない方法ないですか? 例えば不特定型の文字列が無作為に並んでいる列があったとして それぞれ重複するものがあっても一つだけ表示させる方法です。 列の中に値が何種類あるかピックアップするとき使います。
97 :
74 :2010/01/08(金) 00:28:28
>>86 Trueだと発生しないから。
って、書かなくても分るでしょ?
98 :
名無しさん@そうだ選挙にいこう :2010/01/08(金) 02:02:29
【1 OSの種類 .】 Mac OS X Tiger 【2 Excelのバージョン 】 Excel2004 for Mac 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Pivot table ピボットテーブル 勝手にジャンプ 教えてください。4つあります。 1. ピボットテーブルで生成される表の、デフォルトのフォント、文字サイズを 変更したいのですが、設定方法がわかりません。教えてください。 2. 知らずにセルとセルの境目付近をダブルクリックすると、 表の一番下や一番右に勝手にジャンプしてしまいます。 これを止める(余計なことをしないようにする)には、どの設定をすれば良いでしょうか? 3. セルに計算式を書くときに、セルをクリックしながら教えています。 例えば、セル1をクリック「=」セル2をクリック「*」セル3をクリック「リターン」という感じです。ここで、 セル1をクリックすると、 セルのサイズの2倍くらいの白い枠が表示されます。たぶん文字を書くために出る枠だと思います。 が、セル2がセル1のすぐ隣の場合など、枠が邪魔して隣のセルをクリックできません。 この枠は出て欲しくない、あるいはもっと小さい枠で良いのですが、そんな設定はどこにあるでしょうか。 4. 表の上から下まで選択する場合に、上の端のセルをクリックして、 そのまま続けて下の方にドラッグして範囲選択をするとき、 ウインドウの下端まで行くと、自動的に表がスクロールしてくれて便利です。 が、表の下端を過ぎると、突然スクロールのスピードが上がってしまい、 「おーーー行き過ぎ」となり、行ったり来たりで、なかなか思うところに止められません。 このすばらしい機能を止める設定はできないでしょうか? シフトキーを押しながら範囲指定するのは知っていますが、それではなくて、 何かの設定でこの加速をoffにできないかと思っているのです。宜しくお願いします
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】不可 【5 検索キーワード 】 エクセル ウェイト 非常に稚拙な質問ですみません。このような場合はどの関数を使うのが適切でしょうか。ご教授願います 「個人ごとに中間と期末の合計点を求めます。 このとき期末テストを重視して得点に1.2倍のウェイトをかけ、中間テストに0.8倍のウェイトをかけ、 両テストを合計した得点の最高点が100点になるように換算して下さい。」
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 セルにハイパーリンクされたwavファイルをクリックして再生したところ、停止のさせ方が分かりません。 mp3ならWMPが起動するのでそれで停止すればいいのですが、wavの場合WMPで再生してるのではないようですね? 結局、最後まで流して鳴り終るのを待つしかないので困っています。 もしかして、マクロでサウンド停止のボタンでも作らないと駄目ですか?
>>99 ”ウェイト”って何?
また、出題者や回答者の違いによってもその”ウェイト”というのが変わってくる
のでは?
103 :
複乳 :2010/01/08(金) 09:03:36
>>98 2.4は無理
後は知らん
君はエクセルを使わないほうが良いかもしれないな
>>99 過重平均みたいなもんかな。端数処理は自分でやっておくれ
=(A1*1.2)/($A1*1.2+$B1*0.8)*100
=(B1*0.8)/($A1*1.2+$B1*0.8)*100
>>100 そんなもん個人のPCのwavをどう扱うかの設定に依存するから答えようがない
>>96 オートフィルタには重複無視するオプションあるし、2007以降は重複削除の機能がデフォで付いてる
あとはピボットでも判別できんじゃね?
>>104 え?そうなの?そういう設定どこでするの?
wavのファイルの関係付けはWMPになってるけど、WMPが起動しないところを見ると、
Excelでは別の扱いなんだろうと思ったんだけど、ファイルの関連付け以外の設定ってあるの?
>>107 IEの設定かぁ。分かりました。調べてみます。
109 :
100 :2010/01/08(金) 18:41:35
>>107 どこにハイパーリンク関連の設定があるのか分かりません。
もし仮に設定できるとしても、wavを止められるように設定できるのでしょうか?
mp3のようにWMPで再生できるようになれば可能ですが。
それよりもVBAのPlaySound()あたりを使うのが適当なのでは?
私にはコードの書き方が分からないのですが・・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel count 項目名 数値 シート1のある列に打ちこんだ文字が シート2の列に自動的に出力され その横にその文字の総数がカウントされるような方法は ありますでしょうか?是非ともご教示ください。 シート1 シート2 A A B 1アンパンマン 1アンパンマン 3 2ドラえもん 2ドラえもん 2 3ドラえもん 3ポケットモンスター 1 4アンパンマン 5ポケットモンスター 6アンパンマン
>>110 >シート1のある列に打ちこんだ文字が
>シート2の列に自動的に出力され
この例がよくわからない
どういう基準で「3ポケットモンスター」が出てくるんだ?
文字数は=len(a1)でok
113 :
名無しさん@そうだ選挙にいこう :2010/01/08(金) 23:00:27
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル グラフ 値 読む たとえば X Y 1 2.1 2 4 3.1 6 からグラフ(散布図、平滑線)を書いたとき X=2.5のときのYの値は出せますか?
>>113 =INDEX(LINEST(既知の y,既知の x),1)*2.5+INDEX(LINEST(既知の y,既知の x),2)
=TREND(既知の y,既知の x,新しい x,true)
既知の yはYのセル範囲、既知のxはXのセル範囲を指定。
新しいxは2.5。
どちらの式でもY=2.441666667と算出される。
>>114 ありがとうございました。
できました。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】excel 列削除 参照範囲 説明下手ですみません。 社員の名前・部署・職種・性別などの情報を示した一覧表を作り、 A B C D 鈴木花子 派遣 秘書課 1人 佐藤太郎 総合職 営業部 1人 そこから特定の複数条件に引っかかる者が何人いるかをSUMPRODUCTでカウントしています。 一覧表の3000行までを参照してカウントしているのですが、 (※数字が入っているのが約800行まで、再計算に要する時間を考えると3000行が限界) 社員が退職したとき一覧表から行を削除すると、参照範囲も縮んでしまうので何とかしたいと思ってます。 Deleteするだけだと、いつか3000行を超えてしまいそうです。 今は =SUMPRODUCT((一覧表!$B$1:$B$3000="本社○○事業部○○第一課")*(一覧表!$C&1;$C$3000="総合職")*(一覧表!$D$1:$D$3000="男"),一覧表!$D$1:$D$ "男性"),一覧表!$D$1:$D$3000) みたいな式を組んでます 本当はこれの3倍くらいの長さがあって、それが5000個くらいのセルに各々入ってます。 一覧表を削除するたびに3000の部分が2999、2998・・・と減っていってしまいます。 何とかうまい方法はないでしょうぁ
117 :
116 :2010/01/09(土) 02:18:32
式間違えました =SUMPRODUCT((一覧表!$B$1:$B$3000="派遣")*(一覧表!$C&1;$C$3000="秘書課")*,一覧表!$D$1:$D$,一覧表!$D$1:$D$3000)
>>116 単純にdsum関数じゃ駄目なの?使い方はググってみてね。
>>116 例えばこういう式を
=SUMPRODUCT((A1:A5="あ")*(C1:C5))
こういう封にindirectを使うと
=SUMPRODUCT((INDIRECT("A1:A5")="あ")*(INDIRECT("C1:C5")))
削除・挿入の影響を受けなくなる。その代わり式の見た目が長くなって鬱陶しいかもしれないけど
VBA使用。 Sheet1に入力された商品番号をSheet2の商品番号から 検索して商品番号の右隣に入力されている商品名を Sheet3へと転機したいのですが 行き詰っています。 Sheet2の商品番号を検索して値を取得まではできたのですが その隣のセルの値(商品名)を取得できません。 よろしくお願いします。
124 :
Excel 2010 :2010/01/09(土) 22:02:13
Excel 2007でOLAP(SQL Serverのキューブ)接続したピボットテーブルに計算式を挿入したり、「計算の種類」(="基準値に対する比率の差"等)を使用したいのですが、選択しても機能せず困っています。どのようにすれば良いのかアドバイスをいただけませんでしょうか…?
>>121 VBA使用とあるが、まず自分で出来た範囲だけでもコードだせよ
Sheet2の商品番号の値の取得はどうやったさ
セルアドレスが取得出来てるならOffsetなり、列番号を決めうちで指定すればいいだろ
excelでデータ管理っぽいことがしたくて関数やVBAを本でも買って一度ちゃんと勉強したいと思ってます それで今使っているのかexcel2002でして、 4月に最新版をもらえることになっているのですが最新版のテキストでもそこまで支障なく勉強できるでしょうか?
127 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 00:54:17
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 ほぼいいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】excel 乱数 初めて質問します。 0から9までの整数をランダムに発生させたいのですが、 中でも6〜8の数が多く発生するように出現率を指定することはできるのでしょうか。 現在、本を読みながら出来たのが↓です。 Dim i As Integer Randomize For i = 4 To 28 Cells(i, 3).Value = Int((9 - 0 + 1) * Rnd + 0) Next i このコードに足す感じで作成出来ると一番ありがたいのですが、どなたかご存知ありませんか。 よろしくお願いします。
質問です 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 貼り付けのオプション Excel 2007で、他のアプリケーションから貼り付けた文字を、 常にテキストにしたいのですが、Excelのオプションでできますか? Word2007の方のやり方は検索でヒットしたのですが、Excelのほうで知りたいのです よろしくお願いします
※補足 常にテキストにしたい、というのは、 書式を含まないプレーンテキストだけを張り付けたいということです わかりにくくてすみませんm(_ _)m
形式を選択して貼り付け→値 で、どう?
>>130 回答ありがとうございますm(_ _)m
教えていただいた方法がまさにそのとおりだったのですが、
貼り付けまで、ワンクッション置いてしまうので、
できたら、Ctrl+Vで貼り付けたとき、一発でテキストだけ貼り付けられるような設定がないかなぁと
思ったのですが、どうやらExcelのほうにはないようですね・・・
ちょうど、Vectorで「テキペ」っていう、書式情報を解除して貼り付けを行ってくれる
フリーソフトを見つけたので、これを使っていこうと思います。
>>130 様、ありがとうございました!
>>127 Rnd関数だけで確率を変えることはできない。その結果に対して、さらに別の式を合わせて
計算をやり直すことになる。
それから、人によって「多い」のイメージは違う。もっと具体的に比率や確率を数字で書きなさい。
たとえば100回のうち98回は6が出てほしいの?
>>126 できる。メニューの構成やデザインが違うだけで基本は同じ。
>>127 0-12の整数にして10−12の場合は6−8ということにすれば6−8は二倍の確立にできるかもしれない
じゃなきゃ0123456789の内012に0.5刻て゛012345を割り当てて、345678に678を2刻で割り当てるとか
135 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 05:06:02
>>132 ご指摘ありがとうございます。
基本的に以下の割合で出現させるようにできればいいと考えています。
0:3% 1:3% 2:5% 3:8% 4:8% 5:5%
6:21% 7:21% 8:21% 9:5%
です。
こういった割合の指定が不可能かどうかでも結構ですので教えていただけないでしょうか。
>>134 レスありがとうございます。
書いていただいている内容を>127の続きにつける事はできますでしょうか。
何度もすみませんが、よろしくお願いします。
136 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 06:10:00
>62 どこが昇順にしとかなきゃいけなのかわからないのですが。 検索値って1つだけですよね? 検索値じゃなくてその検査範囲を昇順?ってことですかね?
>>135 合計が100%になっていないけどOK?
合計100%になるようにすると、0.6-2.6-5.1-7.7-9.7-11.1-12.6-14.6-16.6-19.3 %になる。
0:0〜0+0.6%=0〜0.006081
1:0+0.6%〜0+0.6%+2.6%=0.006081〜0.032435
2:0+0.6%+2.6%〜0+0.6%+2.6%+5.1%=0.032435〜0.083114
・・・
のようにif関数で各数字の範囲を決めて、乱数を割り当てていけばできるはず。
>>135 コロンが完全に小数点区切りに見えた。
Dim i As Integer
Randomize
Dim j As Integer
Dim RndValue As Double
Dim CumlativeProbability As Variant
CumlativeProbability = Array(0.03, 0.06, 0.11, 0.19, 0.27, 0.32, 0.53, 0.74, 0.95, 1#)
For i = 4 To 28
RndValue = Rnd()
For j = 0 To 9
If RndValue < CumlativeProbability(j) Then
Cells(i, 3).Value = j
Exit For
End If
Next
Next i
140 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 10:42:37
>>137 >>138 ありがとうございます。
あと、見えづらくてすいません。
>138さんのコードで望む形になりました。
ありがとうございました。
あと、各数字の割合を変更する場合は、
CumlativeProbability = Array(0.03, 0.06, 0.11, 0.19, 0.27, 0.32, 0.53, 0.74, 0.95, 1#)
の数字をいじればよいのでしょうか。
>>135 出現確率を一発で簡単に指定するのは不可能。
複雑な手順によって、そういう結果を出すプログラムを作ることは可能。
>>140 その数字は
0以下の出る確率 0.03
1以下の出る確率 0.03+0.03=0.06
2以下の出る確率 0.03+0.03+0.05=0.11
…以下略
というふうになっている
143 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 11:18:45
>>142 さん
がっちり理解できました!!
本当にありがとうございました!!!
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 抽出 文字列 セル内に「アルバム名/アーティスト」という情報が入っているのですが、これを 「アルバム名」「アーティスト」に分けたいのです。 「/」の位置を取得して、それ以前とそれ以降に分ければいいと思うのですが、これは どのような関数でできるでしょうか?
145 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 13:58:52
instr じゃ駄目?
>>144 =LEFT(A1,FIND("/",A1)-1)
=RIGHT(A1,LEN(A1)-FIND("/",A1))
できます
>147 「あいうえ・・・」の状態によっては色々あるが・・ ・行数が少ないなら、列2を選んで挿入後、[↓][↓][F4][↓][↓][F4]・・・ ・連番性があるならオートフィル ・どっかにソースとなる列があるならOFFSET/INT(ROW()/2)の組合せ 情報が少ないのでどの方法がベストかは知らん。 端的に回答すると>148が正しいw
150 :
147 :2010/01/10(日) 16:41:59
>>149 ありがとうございます。
> ・行数が少ないなら、列2を選んで挿入後、[↓][↓][F4][↓][↓][F4]・・・
→1000行あります。
> ・連番性があるならオートフィル
→ありません。
> ・どっかにソースとなる列があるならOFFSET/INT(ROW()/2)の組合せ
→ソースとなる列というのは、どういったことでしょうか?
単に空白行を一斉に挿入したいだけなのですが
かなり難解なことになりますか?
自動化というのが入力してenter押すたびに空白一つあけるというならワカラン 入力されている列(ソース)がA列なら=IF(MOD(ROW(),2)=1,INDIRECT("r"&ROW()/2+0.5&"c1",0),"") で下にオートフィル
>>147 単純に空白行を追加なら
VBAだと下記のコードを使えば出来る
For i = 7 To 2 Step -1
Rows(i).Insert Shift:=xlDown
Next i
153 :
144 :2010/01/10(日) 17:40:40
154 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 18:25:22
エクセル2007。wniXP。文字抽出について。 質問です。よろしくお願いします。 A B C D E 1 **A A *2D* 2D 2 *B* B 3E** 3E 3 *E* E *1A* 1A ・ ・ B1=MID(A1,MIN(FIND({"A","B","C","D","E"},A1&"ABCDE")),1) 現在このような形(A,B列)で Aの文字列から Bにアルファベット(ABCDE)をぬきだしているのですが、 1A,1B,1C,1D,1E, 2A,2B,2C,2D,2E, 3A,3B,3C,3D,3E, という文字を使用して(DE列のように)抜き出しをしたいのですが うまくいきません。E1から順にD、E、Aとはでるのですが肝心な数字が抜き出せません。 どのようにしたらうまく抜き出すことができますか? すみませんが教えてください。お願いします。
155 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 18:31:20
>>154 です。
ずれまくりですみません。
A列が上から順に **A,,*B*,,*E*
B列が上から順に A,,B,,E ,,,,,,,,,,,C列は空白です。
D列が上から順に *2D*,,3E**,,*1A*
E列が上から順に 2D,,3E,,1A
です。よろしくお願いします。
>>136 >>58 の値全体を選択→データ→並べ替え→最優先されるキー”列B”選択
→”昇順”のラジオボタン選択→OKボタンクリック
>>154-155 B1の式をちょちょっとアレンジすればおK。↓
=MID(D1,MIN(FIND({"A","B","C","D","E"},D1&"ABCDE"))-1,2)
158 :
147 :2010/01/10(日) 19:47:56
>>151 ありがとうございます。
=IF(MOD(ROW(),2)=1,INDIRECT("r"&ROW()/2+0.5&"c1",0),"")
の使い方が分かりません。
どこに入力すればよいのでしょうか?
>>152 ありがとうございます。
Pythonなら使ったことがあるのですが、VBAは無いので、
どこから何を起動してどう実行するのかすら分かりません。
どこにそのコマンドを入力すればよろしいでしょうか?
160 :
158 :2010/01/10(日) 21:06:34
>>159 ありがとうございます!
その方法でできました。
助かりました。
161 :
名無しさん@そうだ選挙にいこう :2010/01/10(日) 21:32:48
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 練習中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 値貼り付け マクロを使って、セルM11の値をセルA10に貼り付けるようにしたいです。 (セルM11は他シートの入力状況によって変わる) セルA10は、A10〜E10を結合したものになってます。 普通にマクロの記録で作ろうと試みましたが コピー先のセルが結合されたものなので、うまくいきません。 助言お願いします。
>>161 Range("A10") = Range("M11")
結合されてると値の貼り付けできないのか。知らなかった
一度結合解除して値の貼り付け、再結合というのはどうだろう
>>133 ありがとうございます
明日買ってきます
>161 Range("A10").Value = Range("M11").Value で試してみましたか? 転記元、転記先のセル結合に左右されないはずですが? セル位置の指定は結合されたセルをクリックしたときに名前ボックスに表示されたものを指定してください。
>>161 Sub hoge()
Range("A10").Value = Range("M11")
End Sub
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 集計 シート名が"01"から"12"までのシートと"集計"という名のシートがあるとします。 "01"から"12"のA列に商品名を入力し、その隣(B列)に金額を入力しています。 入力数(行)は最大でも10個(行)です。ただし、入力数は各シートバラバラです。 "集計"シートに"01"から"12"に入力したデータをきれいに並べたいのです。コピペ を使用するのではなく、自動的に並べられている形にしたいのですが、教えて下さい。 例えば、 商品名A1 \10 商品名A2 \20 商品名A3 \30 商品名A4 \40 ← ここまでは"01"シートに入力されているデータ 商品名B1 \15 商品名B2 \25 商品名B3 \35 ← ここまでは"02"シートに入力されているデータ 商品名C1 \20 ← "03"シートに入力されているデータ 商品名D1 \30 商品名D2 \50 ← ここまでは"04"シートに入力されているデータ ・・・ という集計表を作成したいのです。(無駄な余計な行は省かれている状態です) よろしくお願い致します。
>>166 ワークシート関数だけだと「不要な行を詰める」って作業は非常にめんどくさい。
素直にVBA使え。
>>166 12シート程度なら手作業で並べたらいい。
今後はそんなシート作らないことだな。
最初から1シートにするのが常識。
>>166 Sub ポケットビスケッツは名曲揃い()
Dim unko As Variant
unko = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")
nyu = 1
For i = 0 To 11
fuku = Sheets(unko(i)).Range("A1000").End(xlUp).Row
Sheets(unko(i)).Select
Range(Cells(1, 1), Cells(fuku, 2)).Copy
Sheets("集計").Select
Cells(nyu, 1).Select
ActiveSheet.Paste
nyu = nyu + Sheets(unko(i)).Range("A1000").End(xlUp).Row
Next
End Sub
>>168 (キリッ
>>169 こんなマクロ組んで「これでいつでも12シートを1シートにまとめられるぜ。」
などとやっても本当の解決ではないんだがな。
データを月別に12シートに分けるようなバカ癖を治してやらないと。
一体この人は誰と戦っているんだ
>>171 お前の回答はいつもこの調子だからな。
無知な質問者の希望通りのバカ正直な回答ばかり。
つまらん。
俺は複乳と戦うぜ てめえのコードは無駄が多いんだよっ Sub Macro111() Sheets("集計").Select Cells.Clear [A1].Select For i = 1 To 12 Sheets(Format(i, "00")).Select Range([A1], [A1].End(xlDown).Offset(0, 1)).Copy Sheets("集計").Select ActiveSheet.Paste Selection.End(xlDown).Offset(1, 0).Select Next End Sub
>>173 あほか。
私は複乳のコードにケチをつけているのではない。
「12シートを1シートにまとめるマクロ」を使って12シートを放置する発想が悪いのだ。
お前も複乳と同レベルだってこと。
無駄というか間違ってる。
>>172 正規化なんてデータさわってたら誰でも覚えるだろうし
覚えない奴は見込みも内からVBAの力技でやるほうが早いと思うがねぇ
勉強させたいならどこかサイトのリンクでもはってあげれば?
向上心のある人なら見るんじゃないかなぁ
>>176 今回のケースは正規化と関係ないよ。
お前が力技しか知らないんだろ?
>>176 VBAで力技で解決するんだったらそもそも最初っからExcelなんか使わなくていい。
共有がなければExcelで十分だよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 絶対参照、複合参照、ショートカット 複合参照($A$1)のショートカットを調べると、F4キーを押すと書いてあったのですが、 甘く変わってくれません。 ショートカットの設定を何かしなければいけないのでしょうか。
>>180 数式バーの中で、変更した箇所をクリックしてF4押してみて。
182 :
名無しさん@そうだ選挙にいこう :2010/01/11(月) 10:05:19
>>180 >甘く変わってくれません。
?
例えば=A1と入力してF4押してみ?
>>181-182 ありがとうございます。
出来ました。
既に式が入力されていてそれを修正していくためには、一つずつ変えていくしかないんですね。
>>183 ってか、絶対参照ってのは式をコピーしても参照位置が変わらないようにする為なんだから
一つ変更した後に式をコピーしたらどうよ?
186 :
166 :2010/01/11(月) 12:56:56
>>167-173 回答ありがとう御座いました。
参考にさせていただきます。
ちなみにデータを月別に12シートに分けているのではなく、実際は日別に31のシートがあり
そのシートの中の一部の項目のデータを集計したかったのです。
また、煮詰まったらよろしくお願いします。
>>186 いっそのこと1日1シートにしろ。
ポケビのマクロがあるから大丈夫だ。
>unko = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12") ホントに雲子だなw
189 :
名無しさん@そうだ選挙にいこう :2010/01/11(月) 14:18:50
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】エクセル 無作為 抽出 A1からA20まで5,8,11,258,26,28…など規則性のない数字が並んでいて、 そこから無作為に6つ数字を選びたい(選んだ数字をB1からB6に表示させたい) んですが、どのような式を作ればよいでしょうか?重複しないでF9などのキーを 押すたびにちがう6つの数字が選べるようにしたいのですが。よろしくおねがいします。
隣の列にRNAD()ワークシート関数で[F9]して並べ替えが一番単純かなあ それでINDEXかなんかで上から6個表示させるとか
すみません、1つ教えて下さい。 Excel2007ではExcel2003の様な、オートフィルターをかけて、 2003ではやれた、その列の文字列を含むの様にしてフィルタリングが可能なのでしょうか...?
>>190 そうですね。ありがとうございます。
個人的に使うものなので見てくれなどどうでもいいので、
教えていただいた方法が簡単にできますね。
頭が回りませんでした。どうもありがとうございます。
Excelで日付でオートフィルを掛ける場合、ある時刻のセルだけフィルターするにはどういう設定が必要でしょうか? 何日(時刻付き)のセルがあって、そこから同じ時刻だけフィルターする仕組みです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】(0,0) 原点 共通 excel 使い方 x軸、y軸ともに0から始まる場合、見栄えを良くするために 原点座標の0を一つにしたいのですが、やり方を教えてもらえませんか? よろしくお願いいたします。
>>193 日付入力(=NOW()での時刻付き日付と同じ表示で)後、まずセルの書式設定
→ユーザー設定→d"日" h:mmとする。
で、ふつうにオートフィル”連続データ”でかければ時刻は同じで日付だけ
一日ずつ増えていきます。
>>194 オートシェイプの線無し四角を使ってどちらかのゼロを隠してしまえばいいかと。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 OLEObject ComboBox 代入 参照 変換 ワークシート上に配置されたComboBox1〜ComboBox9を Sheet1.OLEObjects("ComboBox" & i) を使って取得し、ComboBox型の変数に参照代入する方法を教えてください。 Dim cbo as OLEObject Set cbo = Sheet1.OLEObjects("ComboBox1") であれば問題なく取得できますが Dim cbo as ComboBox Set cbo = Sheet1.OLEObjects("ComboBox1") とすると、型が違うとエラーが出ます。しかし Dim cbo as ComboBox Set cbo = Sheet1.ComboBox1 では正常に取得できる為、ComboBox1の型がas ComboBoxであることは間違い有りません。 実際の宣言ではWithEventsで宣言する為、as OLEObjectやas Variantで誤魔化すことは出来ません。 宜しくお願いします。
>>196 普通にSheet1.OLEObjects("ComboBox1").Objectでいいんじゃね?
でもシート上にMSFormsのコントロール使うのやめておいたほうがいいぜ 2007以降はほとんど見捨てられてるから
199 :
◆tHwkIlYXTE :2010/01/12(火) 11:03:28
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 わかりません 【4 VBAでの回答の可否】 わかりません 【5 検索キーワード 】?? 初めまして。3・4・5は意味からしてわからない初心者です。 説明も読みましたが、さっぱり理解できません・・・ エクセルでできるか・できないかの質問です。(もしできなければ出来るソフトを教えていただけると助かります。) 24Hの表を作成し、稼動した時間に線を引っ張るだけで、合計欄に一日の稼動合計時間が出るような表を作成したいのですが、エクセルでできますか? 説明がヘタだったらスミマセン・・・
>199 出来る。
201 :
◆tHwkIlYXTE :2010/01/12(火) 11:11:30
>>200 回答ありがとうございます。
できるんですね。ちなみにどうやったらできますか?
3・4・5の意味もわからない私に作成できますかね?
>>201 3,4の意味が分からないなら作れないと思うよ。
VBA使わないと無理。
203 :
◆tHwkIlYXTE :2010/01/12(火) 11:25:00
>>202 そうなんですね・・・・
エクセルの本とかに載ってますか?購入しようと思ったのですが、どれを購入したらいいかサッパリわかりません。
お勧めはありますか?
>203 >2・B参照 君の知識レベルならどれを買っても一緒だろ。
まずどうやって線を引くつもりなのか
206 :
複乳 :2010/01/12(火) 16:19:21
207 :
名無しさん@そうだ選挙にいこう :2010/01/12(火) 16:30:26
あと1か月。就職までにWord, Excelのスキルアップに必要な時間です。 スレ読みも勉強になると思って、Excelの総合スレはここにみつけたけど、 なぜ一番ポピュラーでありそうなWord総合スレがないの?
需要がないからに決まってんだろ
209 :
207 :2010/01/12(火) 17:07:32
Why not? 習得したい事柄はたくさんあるんだけど
じゃあその習得したいことをぐぐればいいだろう。 ゆとり全開だな
211 :
複乳 :2010/01/12(火) 18:07:38
Wordとかインデント、テキストボックス辺り覚えておけば文書はできるからな 後は雛形を使いまわせばなんとでもなる 見た目を重視するならパワーポイントじゃないか と思って検索したらやっぱりあった
212 :
名無しさん@そうだ選挙にいこう :2010/01/12(火) 18:37:24
スレッド一覧開いてpowで検索したら見つかる
214 :
名無しさん@そうだ選挙にいこう :2010/01/12(火) 19:43:09
>>213 Powerpointしか見つかりませんよ?
パワーポイントスレな ワードは無いよ。別にいらんでしょ
217 :
207 :2010/01/12(火) 21:02:08
複乳さんはやさしいですね
218 :
◆tHwkIlYXTE :2010/01/12(火) 21:11:48
>>206 30分単位です。
何種類か基本・初めて系の本見ましたが、載ってなかったんです(泣)
219 :
名無しさん@そうだ選挙にいこう :2010/01/12(火) 21:18:08
>>214 あんなお節介で、頼んでもいないことを平気で実行する変態ソフトは、
だれも使わないから、スレが無いんじゃない?
ちなみにオレは一度も使ったことがない。
>>218 そんな気色悪いこと普通しないからなぁ
まぁB1に0、C1に0.5、D1に1と右に0.5刻
A2に=COUNTIF(B2:AX2,"-")/2
後は二列目に−を入力するとか、条件付き書式でパターン設定とか
>>219 あのお節介機能全部を止めてくれたら少しは使うんだけどねぇ
221 :
214 :2010/01/12(火) 21:41:44
>>219-220 おせっかい機能は切ればいいじゃん
そのやりかただけは知ってるよ
ツール→オートコレクトのオプションで、
オートコレクトのタブにあるチェックボックスを全部はずして
入力オートフォーマットのタブにあるチェックボックスも全部はずす
これだけですごいスッキリさ
With Worksheets(DATA) .Range("A3") = "" .Range("A3").Interior.ColorIndex = 36 .Range("A3").NumberFormatLocal = "0_ " End With ↑これを更に短縮して、↓にしたらダメですた。これ以上はムリなの? With Worksheets(DATA).Range("A3") . = "" .Interior.ColorIndex = 36 .NumberFormatLocal = "0_ " End With
>>221 すごいな、ありがとう
でもword手元に無いし仕事場でも使ってないな・・
>>222 With Worksheets(DATA).Range("A3")
.Value = ""
ピリオドごと略した場合はvalue。ピリオドだけ残すということは出来ない
理由は知らん
横から失礼します せっかく書いたので投稿します Range("A3") = "" は Range("A3").Value = "" を省略した形なのね (Valueがデフォルトプロパティなので省略できるだけ) デフォルトプロパティは なるべく省略しないほうが良いと思う
225 :
505 :2010/01/12(火) 22:47:19
>199,201,218 ちょっと作ってみました。前提条件は ・セルの塗りつぶしを行うことで稼動したことを示す(塗りつぶしの色は問わない) ・VBAマクロ中の B:AW(48列) は24時間を30分で区切ったもの ・同じく、Array(4, 6, 8, 10, 12)は集計対象行を列挙したもの・当方はWinXP(sp3)のExcel2003 Option Explicit Dim tate As Variant, yoko As Integer, gyo As Variant, cnt As Integer, 列範囲 As String, 始 As Integer, 終 As Integer Sub 稼動時間集計() 列範囲 = "B:AW gyo = Array(4, 6, 8, 10, 12) : 始 = Range(列範囲).Column : 終 = Range(列範囲).Columns(Range(列範囲).Columns.Count).Column For Each tate In gyo cnt = 0 For yoko = 始 To 終 If Cells(tate, yoko).Interior.ColorIndex <> -4142 Then REM -4142は塗りつぶしなし cnt = cnt + 1 End If Next yoko Cells(tate, 1).Value = cnt / 2 REM 2で割ってA列に時間数を出力 Next tate End Sub シートの設定 B:AW列はセル幅を狭くして一画面に収まるようにする(WXGAの画面ならセル幅は2.25とか) B2:C2、D2:E2、・・・AV2:AW2まで1時間単位でセル結合し、0から23の数字を入力 使い方:一人目の稼動時間設定ならば4行目で(線をひっぱるようなイメージで)セルを選択して塗りつぶしを行う。飛び飛びなら[Ctrl]を押しながら選択することもできる。 セルの塗りつぶしが終わったら、[Alt]を押しながら[F8]を押すと、マクロ一覧が表示されるので 「稼動時間集計」を選択して[実行]をクリック。→A4、A6、A8、A10、A12セルに時間数が表示される。
226 :
225 :2010/01/12(火) 22:49:59
>225のメール欄 505 は意味ありません。 それから、白で塗りつぶしはしないでください。”塗りつぶしなし”とは違います。
227 :
222 :2010/01/12(火) 23:13:33
228 :
名無しさん@そうだ選挙にいこう :2010/01/13(水) 09:52:05
ピボットテーブルで漢字をフリガナ順に並べるにはどうすれば良いでしょうか phonetic関数で調べたところ、フリガナ情報は消えているようです
229 :
◆tHwkIlYXTE :2010/01/13(水) 09:53:49
>>220 本を購入したりはしないんですね・・・
さすがです。でもホントに初心者なんだもん!!(泣)
>>225 ありがとうございます。なんとか友達に聞いてやってみます。
230 :
名無しさん@そうだ選挙にいこう :2010/01/13(水) 10:48:09
ググッてみてもいまいちだったので質問です。 日付入力にて 220113 と入力した結果を 「平成22年1月13日(水曜日)」と表示させたいのですが ユーザー定義に 「ggge"年"m"月"d"日("aaaa")"」等を入れても 「平成514年8月24日(木曜日)」となってしまいます。 何が足りないのでしょうか。 【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 sp3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 曜日 日付 シリアルとは
231 :
名無しさん@そうだ選挙にいこう :2010/01/13(水) 10:53:22
>>230 H22.01.13かH22/01/13と入力する
どうしても220113で日付を表示させたいなら
=TEXT(DATE(LEFT(A1,2)+1988,MID(A1,3,2)*1,RIGHT(A1,2)*1),"ggge年m月d日(aaa)")
>>231 早急なレスありがとうございます。本当にありがたいです。
とりあえずの謎が解けました。
3行目の内容は細かく理解できませんが、十分なヒントを貰っているので自分で調べてみます。
助けてください>< A.xls のAシートを新しいブックにコピーを作成 ◆ ↓ B.xlsを開く のBシートを前述の新しいブックに移動 ↓ 新しいブックを保存 というようなマクロを作っています。 ここで、◆の動作を繰り返すと、新しくできるブック名が、Book1、Book2....と変わっていく為、 A.xlsをその都度開いたり閉じたりして対応しています>< A.xlsを開っぱなしで、上記マクロを繰返にはどのように対応すればいいですか>< Sheets("A").Copy Workbooks.Open Filename:="B.xlsのパス" Sheets("B").Move After:=Workbooks("Book1").Sheets(1) 保存処理。 ちなみに女じゃありません><
>>228 フリガナを別の列に入力してピボットに加える
>>233 A.xls とB.xlsのシートを新規Bookにコピーするのか?
それともB.xlsのシートを新規のBookにコピーするってことか?
そこら辺がよくわからん
どっちにしてもBookを変数に入れればOKだろ
>>235 ありがとう。
◆の処理で出来た新規BookにBのシートを移動させるんです。
Sheets("B").Move After:=Workbooks("Book1").Sheets(1)
のWorkbooks("Book1")を変数で処理すればいいんでしょうが、
◆の処理を繰返すとできるBook1,Book2....に対応はどうすればいいんですか><
あ、◆で出来るBook名を取得すれば対応できるのか><
Sheets("A").Copy
NewBookName=ActiveWorkbook.Name
Workbooks.Open Filename:="B.xlsのパス"
Sheets("B").Move After:=Workbooks(NewBookName).Sheets(1)
たぶんこれで解決しました><ありがとうございました><
237 :
名無しさん@そうだ選挙にいこう :2010/01/13(水) 22:01:39
>< ←これ何?
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ こういう変数の使い方はおkですか? Sub 長澤まさみ() Call 新垣結衣 Call 綾瀬はるか End Sub '------------------------ Sub 新垣結衣() Dim RNG As Range Set RNG = Range("A1:B3") End Sub Sub 綾瀬はるか() Dim RNG As String RNG = "A1:B3" End Sub
239 :
名無しさん@そうだ選挙にいこう :2010/01/13(水) 22:13:28
VBAを勉強したいけど、皆さんはどうやって学習しました? 目的がないと上達しないよね…。 何時間くらいの学習で基本的なことは網羅出切るんだろうか?
目的があっても上達しません>< いまだに、If と Select Case の使い分けができません><
>>239 目。
(><;) 困ってるように見える。
>>240 俺は仕事上で覚えた。
初歩的な動作や文法は、マクロ記憶して、そのコードを観察して覚えたわ。
243 :
239 :2010/01/13(水) 23:47:10
245 :
名無しさん@そうだ選挙にいこう :2010/01/14(木) 00:03:12
>>244 おお。こりゃまいった。
ではついでに聞くけど、この顔文字(↓)はなんなの?好きな子が使ってるんだ。
(*'V`艸)☆+
>>245 中指立ててる代表的なAA
話をしたくない嫌いな人に対して表現する場合が多い
247 :
複乳 :2010/01/14(木) 08:54:28
>>237 ガイドライン板でちんぽっぽで検索すればよろし
>>240 マクロの記録を改変するところからでいいんじゃないかな。
後はifとfornext覚えれば大体okと思う
248 :
複乳 :2010/01/14(木) 08:55:18
>>245 投げつけられた手裏剣を両手でガードしてるところ
249 :
名無しさん@そうだ選挙にいこう :2010/01/14(木) 16:10:02
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 現在請求書を作ってます。といっても親戚宛てなのでエクセルの勉強がてらです。 条件: A、「○年○月1日〜末日 利用料金」という先月分の請求書です。 B、先月分の代金を今月につくって印刷します。 ですが、その月の何日に作るかは決まってません。 a1=today()。 いままではyearとmonth関数使って○に入れてました。 =YEAR(a1)&"年"&MONTH(a1)-1&"月1日〜末日 利用料金" ですが今月は0月になってしまいます orz =YEAR(a1)&"年"&MONTH(a1-32)&"月1日〜末日 利用料金" だと強制的に先月になりますが、1日に作成したら先々月になる気がします。 Q、ifを使って場合分けすると長くなるのでいやなのですが、 if以外で回避するスマートな方法ってありますか?
250 :
複乳 :2010/01/14(木) 16:22:07
>>249 date関数で0日にすると、先月の末日になる
=DATE(YEAR(A1),MONTH(A1),0)
後はここから月を取りたければ
=month(DATE(YEAR(A1),MONTH(A1),0))
のようにすればいい。それかtext関数とかアンパサンドとかやり方は色々
=TEXT(DATE(YEAR(A1),MONTH(A1),0),"yyyy年m月")&"1日〜末日 利用料金"
ありがとうございました。
末日も○日にしてdate(,,0)にしたらかっこよくなりました。
月によって28 30 31とあるので末日としてお茶を濁して
あきらめてました。
>>250
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 毎月、その前月分の書類を作成する際、A1セルに「○月分」と自動に表示されるようにしたいのですが… (「月分」はB1セルです。) 今まで A1=month(todaY())-1 としていたのですが、年が開けて12月分を作ろうとすると 当然ながら「0月分」となってしまいます。 この処理は月の前半に行うので A1=month(today()-15)とひとまず措置?しましたが もっとスマートな方法はないでしょうか。
253 :
252 :2010/01/14(木) 18:05:45
すいませんすぐ上にそっくりな質問がありました。 ごめんなさい。
254 :
複乳 :2010/01/14(木) 18:12:40
みんなやってること同じなんだよな 実は俺も0月になってた MOD(MONTH(A1)+1,12) なんかも使えるぜ
255 :
238 :2010/01/14(木) 19:24:25
ねぇねぇ、教えて♥
おいらならこうするけど =TEXT(A1-DAY(A1), "yyyy年m月""1日〜末日 利用料金""")
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel word 文字 書き出し お願いします。 「D:\管理」の中にフィルダ名に法則性のないフォルダかたくさんあります。 更にそのフォルダ中に「請求書.docx」があります。 そのファイルの中の最初の改行までが「会社名」でその一覧をExcelに 書き出したいのです。 どのようなコードを書いたらいいでしょうか?
>>238 別にOK
プロシージャ単位で宣言しているなら
変数名がたとえ同じだとしても他への影響を最小限にできる為
とゆうか、変数はなるべくプロシージャ単位で宣言し
なるべくグローバル変数は使わない方がいい
259 :
名無しさん@そうだ選挙にいこう :2010/01/15(金) 00:09:24
規制されているので、携帯から失礼します。 オープンオフィスなんですけど、ここで質問してもよろしいですか? 【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】オープンオフィス 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 マイナスだった場合0に 前日比 仕事場の売り上げ表が未だに紙媒体だったので、ちょっと作ってみようと思ったら難しいですね… 先月終値 1日 差 2日 差 3日 差 4日 差・・・ 48 50 2 55 5 64 9 ・・・ のように、前日の数字を引いた数字を差に出したくて 差の部分に=C2-B2のように、ただ単に引いていたんですが まだ未記入の部分を0と認識しているみたいで、4日の差の部分が-64と表示されてしまい そのせいで、月最後の売り上げまとめのSUMが全て記入するまで-になってしまいます。 これを無記入部分を無視、かマイナスを0に表示するにはどうしたらいいですか? excel勉強すればよかったなぁ…
>>260 ごめんなさい、ありがとうございます。
移動します。
>>259 ちなみにD1より横に1セルおきに”差”の文字が入っていて
C2=50 D2=2 E2=55 F2=5 G2=64 H2=9 ・・・であった場合、
J2 =IF(J1="差";IF(OR(G2="" ;I2="");"";IF(I2=0;0;I2-G2));"")
で、右へオートフィルかけておけばおK。
>>257 VBA使えないなら諦めれw
ここに1から10まで書いてくれる人はいないだろう。
俺が作るなら、
「管理」フォルダ内の階層(フォルダ名)を取得
↓
個々のフォルダ内のファイル名を取得
↓
ループさせて請求書.docxがあったら
↓
ワード文章取得
↓
一行目を会社名表示用のシートにコピペ
以上の繰り返し。
個々の処理はグーグル先生に聞けばわかると思う。
>>257 こんな感じかな。「D:\管理」以下の1階層目のフォルダ内の「請求書.docx」の1段落目のテキストをセルに書き出し。
folderPath = "D:\管理"
docxName = "請求書.docx"
Set w = CreateObject("Word.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each f In fso.GetFolder(folderPath).subfolders
fileName = f.path & "\" & docxName
If fso.fileexists(fileName) Then
ActiveCell.Value = w.documents.Open(fileName).Paragraphs(1).Range.Text
w.documents.Close
ActiveCell.Offset(1).Activate
End If
Next
w.Quit
質問です>< とあるエクセルファイルを作成し、デスクトップに保存するマクロを作っています。 ある程度統一したファイル名で強制保存させます。 その処理において、ファイル名が重複していた場合、上書きを回避させたいんです>< 強制保存の処理をさせる前に、重複するチェックをしたいんです>< 助けて下さい>< Fname = "あ" 重複チェック→重複していたら、Fname = "あ(2)"的な処理 ↓ 強制保存 あ(2)があった場合は、あ(3)....っていうふうにしたいんです><
質問させてください A列の1から150まで連番でファイル名を書いているのですが、拡張子を追加で付け加えなければならなくなってしまいました 現在セルに入力されている値に後方追加で文字列をいれることはできますでしょうか? ひとつひとつやると日が暮れてしまいそうなのでなんとかお願いします
&
>>266 B列に
=A1&"拡張子"
150行までバーーーってやって
関数を取っ払いたいなら、B列をコピー→値だけ貼付け
XP Excel2000 2つのエクセルファイルを開くと、 あるPCは、同一のExcel.exeで開いて あるPCは、2つのExcel.exeで開く。 プロセス上に、前者はExcel.exeが1つ、後者は2つできる。 これはどこの設定によるものなの?
270 :
複乳 :2010/01/15(金) 15:59:32
>>269 オプションのどこかにあるほかのアプリケーションを無視する
ってとこ
272 :
269 :2010/01/15(金) 16:20:08
>>270 チェックしたり、外してみたりしたけど、何も変わらないよぉ。。。。
どうしてこういうこと聞くかというと
とあるアプリで、エクセルを影で起動させてるんだ。
で、
>>269 の前者の場合、ユーザーが他のエクセルを開くと、
同じプロセスでやっちゃうから、アプリ側でエラーがでちゃうの。
これを回避したいんだ。
ファイルの開き方にもよるけど、普通は同一プロセスで開くんじゃないかな ダブルクリック時に別のプロセスで開くとかは、コマンドラインオプションかなんかを自分で指定してやる必要があると思った。ぐぐってみて そもそもは同じプロセスだとエラーが出るって言う糞アプリとやらがおかしい話なんじゃないの?
274 :
複乳 :2010/01/15(金) 16:37:56
>>271 どこか自演臭かったか?
>>272 vbaかなにかで別プロセスにしたいなら、先にexcel.exeを起動してから
ファイルをオープンするようにするといいかも
他のアプリ〜でできない場合はよくわからん
275 :
269 :2010/01/15(金) 17:17:50
>>273 まぁそうなんだけどね^^;
>>274 VBのアプリからエクセル開いて、そのプロセスを他のエクセルに使わせたくないんだ。
ちなみにぐぐりまくったら出てきた。
これでいけるのかなぁ。
bDDE = xlApp.IgnoreRemoteRequests
xlApp.IgnoreRemoteRequests = TRUE
処理
xlApp.IgnoreRemoteRequests = bDDE '元に戻す。
奥深いねぇ。
ワークシート1枚にひとつき分の報告書が連なっているんですが すべて同じ様式なので、指定したセルをすべてのワークシートから抽出して ワークシート名と共に並べるってことは出来ますか?
279 :
265 :2010/01/15(金) 18:30:56
>>279 ファイル名の後ろにランダムな数字を加えれば重複はしない
282 :
265 :2010/01/15(金) 19:00:25
誰も助けてくれないんですか><
>>265 保存する前にDirでファイルが存在するか調べりゃいいじゃん
>>265 これでどうかな
Folder = "C:\TEST\"
Fname = "あ"
SaveFname = Fname
i = 1
Do Until Dir(Folder & SaveFname) = ""
i = i + 1
SaveFname = Fname & "(" & i & ")"
Loop
'SaveFname で保存処理をする
あんまり><を多用するのは関心しないな
見ててイラつくんだけど
ありがとうございますた><
拡張子は大丈夫か?
287 :
284 :2010/01/16(土) 08:22:06
>>286 拡張子ってのをわすれてたな
誤 Do Until Dir(Folder & SaveFname) = ""
正 Do Until Dir(Folder & SaveFname & ".xls") = ""
288 :
名無しさん@そうだ選挙にいこう :2010/01/16(土) 10:00:21
WindowdXP上でExcel2000をつかってます。 HDD上に保存されているxlsファイルが巨大すぎて2時間たっても読み込みが終了しません。 でも、ExcelViewer2003ならば読めます。 編集途中の大切なファイルなのでなんとか読み込んで編集したいんです。 読み込み前のファイル内のシートを削除とかできないでしょうか?
VBAでイミディエイト・ウィンドウの内容をクリアする方法はありますか?
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 売上ランキングを出す際、重複しないで出したいです。 売上でまずランキングを出していき、売上が同一だった場合は、 社員番号でさらにランキングを振り分けたいのですが、良い方法ありませんでしょうか?
>>290 社員番号を社員番号の最大+1で割りそれを足して使用する
単純に社員番号を加算するとか追加するとかしてからならびかえれば
>>288 フリーズしてるんでしょ
ファイルが壊れてなければネットカフェにでももっていって編集すればいいんじゃないか
それかOOoを使うとか
PCオンラインの記事で
http://pc.nikkeibp.co.jp/article/knowhow/20090811/1017790/ フォルダ内のファイル名一覧を自動作成 というマクロに挑戦しました。
問題は自宅のエクセル2003ではできたのに、職場のエクセル2000でできなかったことです。
もしよろしければ、助けてください。
【1 OSの種類 .】 Windows xp
【2 Excelのバージョン 】 Excel 2000
【3 VBAが使えるか .】 勉強中
【4 VBAでの回答の可否】 可
エクセル2003でokだったマクロ
Sub ファイル一覧()
フォルダパス = Cells(1, 2).Value
ファイル名 = Dir(フォルダパス & "\*.*")
行番号 = 4
Do While ファイル名 <> ""
Cells(行番号, 1).Value = ファイル名
行番号 = 行番号 + 1
ファイル名 = Dir()
Loop
End Sub
>>294 どこでエラーが出たのかわからんが、
カンで答えるとフォルダパス = Cells(1, 2).Value がおかしい
>>294 フォルダパスの最後に「\」が付いてるのに「\*.*」を足してる
>>294 フォルダ名が間違ってて、存在しない名前になってる
空でファイルが一つも入っていないフォルダを指定した
アクセス許可のないフォルダを指定した
298 :
名無しさん@そうだ選挙にいこう :2010/01/16(土) 18:18:57
>>288 OOoだと読み込める、という意味でしょうか?
299 :
294 :2010/01/16(土) 18:29:43
>>295-
>>297 ありがとうございます
職場じゃないので確認してませんが、パスの指定が、\\二つになって
間違っているような気がします
301 :
257 :2010/01/17(日) 11:07:00
>>264 返事遅くなりました。
できました。ありがとうございます!
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エラー名で検索してみましたがわかりませんでした セキュリティに影響を及ぼす可能性のある問題点が検知されました。 リンクの自動更新が無効にされました。リンクの自動更新を有効にすると、コンピュータの安全性が失われる可能性があります。このファイルの発行元が信頼できない場合は、このコンテンツを有効にしないでください というエラーが表示され、「有効にする」「無効にする」のいずれを選んでも入力したエクセルデータが表示されなくなってしまいました。 どうにか直したいのです。よろしくお願いします。
303 :
名無しさん@そうだ選挙にいこう :2010/01/17(日) 18:08:32
会社で配備されているPC(Excel2003)でマクロが使えないのですが…。 ツール→マクロ→と選択しても「セキュリティ」しか出てきません。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 パーセンテージによるランク表が予め決まっていて、 そのパーセンテージを越すと、ランクが自動的に変わる関数で良い案ありますでしょうか? if文でランクごとにそのパーセンテージよろ大きいと繰り返してしまうと、 恐ろしく長い関数になってしまって・・・。 何かいい案ありましたら教えてください。
>>307 ありがとうございます。
ランクは単純に数字をあがったりするだけです。
ランクは計算用に多少いじっても大丈夫だと思います。
わからん うpれ
>>306 ランク一覧表をシートに作っておいて LOOKUP関数 で検索させるとか
>>311 3行目部署2で75%なのにランク3?
例えば135%でもランク3なの?
>>312 新たなワード”進捗率をもとにランクを自動的に〜”のせいだろ。
>>311 情報の小出しはするなよ。
>>312 そのとおりです。
最低ランク以下の売上しかない場合は、
最低ランクとして扱います。
わからん ブックうpれ
>311 VLOOKUPを使うとして VLOOKUPって確か範囲の左端を検索だったと思うので B列とC列は入れかえる必要があるね あと達成率は昇順でないとダメなハズ その上で 検索範囲に部署名と同じ名前を定義してみたらどうだろう B4:C6を"部署1" B7:C9を"部署2" って感じで んで J4=VLOOKUP(I4,INDIRECT(F4),2) としたらどうだろう
vlookup<<<index(match)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 autofilter 0以外を抽出 シート1に以下のように、A列にお店の名前があって、 B列以降1月から12月までそのお店で使用した金額を入力しています。 お店 1月 2月 3月 4月 5月 6月 ・・・ AAA 0 100 300 0 100 300 ・・・ BBB 10 100 0 100 100 300 ・・・ ・ ・ ・ それで、月を指定する箇所を作って、そこで1と入力した場合なら、 1月にお金を使ったお店をシート2に抽出。 2と入力した場合は、2月にお金を使ったお店の抽出が出来るマクロを 作ろうとしているのですが、どうすれば良いでしょうか? 個人的に考えたのは、if文で見たい値を判断してautofilterするセルを指定して、 0以外を抽出すれば良いのかなと考えていますが、 VBAの知識がないもので四苦八苦しております。 よろしくお願いいたします。
320 :
複乳 :2010/01/18(月) 14:54:03
>>319 マクロの記録+変数を使えれば簡単
a = InputBox("月")
と
Selection.AutoFilter Field:=a + 1
が変更したところ
ちなみに最初に出る入力画面で1を二有力すれば1月分、2なら2月分になる
後は頑張れ
Sub Macro1()
a = InputBox("月")
Columns("A:G").Select
Range("G1").Activate
Selection.AutoFilter
Selection.AutoFilter Field:=a + 1, Criteria1:="<>0", Operator:=xlAnd
Selection.Copy
Sheets("2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
>>320 うまくいきました!
ありがとうございます。
ただ、それをボタンに登録して動かしてみるとエラーになってしまいますorz
また、参照用シートが処理後もフィルター状態になっているので、
処理後はフィルター解除状態にすることは可能でしょうか?
322 :
複乳 :2010/01/18(月) 16:09:21
>>321 ボタンに登録して複数にまたがるシートを扱う時は
Private Sub CommandButton1_Click()
call macro1
End Sub
でok。macro1は標準モジュールに書いておく
あと今気づいたけど
Columns("A:G").Select は列が足りないな。
自分で作り直したほうが良いとおも
ボタンをどこに作ったの? オートフィルタするページと一緒じゃないと駄目なんじゃないかな? フィルタ解除はその操作マクロで記録して見てみればわkんじゃない? つ[後は頑張れ」
324 :
265 :2010/01/18(月) 16:13:24
>>321 >処理後はフィルター解除状態にすることは可能でしょうか?
Selection.Copyの後ろに
Selection.AutoFilter ←これを挿入。
325 :
複乳 :2010/01/18(月) 16:14:40
>処理後はフィルター解除状態 はマクロの記録でやってほしかったんだぜ・・
326 :
265 :2010/01/18(月) 16:23:23
>>284 うお回答来てた><
ありがとう!やってみる><><><><><
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002、2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】マクロ オートフィルタ データ 取得
やりたいこと
「現データ」シートのG列で「1」フィルタをかける
*フィルタ項目以下のデータ部 C列〜E列をコピー
「抽出」シート B2に貼付け
「現データ」のデータ部 シートH行〜L行をコピー
「抽出」シート E2に貼付け
「現データ」のデータ部 シートF行〜G列をコピー
「抽出」シート J2に貼付け
「現データ」シートのG列で「2」フィルタをかける
フィルタ項目以下のデータ部 C列〜E列をコピー
「抽出」シート B列の最終行以下に貼付け
(以下、同様のコピー&ペースト)
元データの並び替えなしという縛りがあります。
数回フィルタを掛けるので、コピーする最初の行が変わります。
フィルタ「1」のときは3行目から、「2」のときは5行目…
表示された最初のデータ行を取得する方法はoffset、resizeを組合せる?のでしょうか
ご教授願います。
ttp://www.dotup.org/uploda/www.dotup.org573343.zip.html
329 :
d :2010/01/18(月) 21:08:45
>>328 >表示された最初のデータ行を取得する
と考えずに、項目行まで含めて表示されている全てのデータをコピペし、
後でペースト先の項目行を削除したらどうでしょうか。
330 :
294 :2010/01/18(月) 21:09:46
>空でファイルが一つも入っていないフォルダを指定した 上記症状でした。すいません_| ̄|○
もっと綺麗な関数はありませんか? =IF(A1="8:00〜12:00","01",IF(A1="12:00〜14:00","12",IF(A1="14:00〜16:00","14",IF(A1="16:00〜18:00","16",IF(A1="18:00〜20:00","18",IF(A1="19:00〜21:00","19",""))))))
質問というか疑問なんですが、 VLOOKUPってなにか使うメリットあるんですか?? 個人的にはコントロールエフで、検索かけた方が早いような気がするんですが
>331 例外を考慮する必要がなければ =IF(A1="8:00〜12:00","01",LEFT(A1,2)) 私なら比較対象と対応文字を別に用意してINDEX(MATCH)
>332 必要がなければそれでいいんじゃね?
マクロで、 D = Format(Date, "mmm/yy") と書けば Jan/10 になりますが、Dec/09 をDへ入れるには、どう書けばいいでしょうか? また、このとき、Jan を JAN にできるでしょうか? 来月の任意の日なら JAN/10、再来月の任意の日なら FEB/10 にしたいです。
>>329 全体を選択するだけならできていて
抽出部分の取得をしたいんですが・・・><
>>336 D = Format(DateSerial(Year(Date), Month(Date), 0), "mmm/yy")
と
UCase(D)
纏めると
D = UCase(Format(DateSerial(Year(Date), Month(Date), 0), "mmm/yy"))
>>328 最終行からCtrl+↑、という考え方が一般的らしい
aaa = Range("a65535").End(xlUp).Row
これでaaaに最終行。ただしA列の最終行なので他の行が伸びている場合はその列で
>>336 たまにはワークシート関数とかどうでしょう
d = UCase(Application.WorksheetFunction.Text(d, "mmm/yy"))
【1 OSの種類 .】 Windows Xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel ヘッダー 画像 落ちる or Excel ヘッダー プレビュー 落ちる こんばんわ、質問させてください。 現在資料を作成中なのですが、ヘッダーとフッターにそれぞれ複数の画像を設定しています。 その状態で印刷プレビューで確認するとかなりの確立でExcelが落ちてしまいます。 画像の種類はemfで、サイズは大体5-10KB 一つ100KB超えている画像があります。 乏しい情報で申し訳ありませんが何か解決策があればご教授いただければ幸いです。 よろしくお願い致します。
341 :
複乳 :2010/01/19(火) 09:30:33
>>340 これか?
ttp://office.microsoft.com/ja-jp/excel/HP052004991041.aspx Enhanced Metafile グラフィック フィルタ (Emfimp32.flt) は、
拡張メタファイル (.emf) を Windows メタファイル (.wmf) に変換します。
.emf ファイルを Microsoft Clip Gallery または Microsoft Photo Editor の
オブジェクトとして Excel のブックに挿入する場合は、Enhanced Metafile フィルタを組み込む必要があります。ただし、.emf ファイルを
直接 Excel のブックに挿入する場合は、このフィルタは必要ありません。
後はアップデートや再インストール
emfを他の形式に変換する。ソフトはベクターに転がってる
ヘッダーに含めずシートの上の方の行に挿入する
など。まぁ、一言で言うと良く分からん
342 :
d :2010/01/19(火) 11:32:13
>>337 >全体を選択するだけならできていて
>抽出部分の取得をしたいんですが・・・><
ではちゃんとした例を。^^
Sub test()
Dim RR As Range
Set RR = ActiveSheet.AutoFilter.Range
Set RR = Intersect(RR, RR.Range("C:E"))
Set RR = Intersect(RR, RR.Offset(1))
Set RR = RR.SpecialCells(xlCellTypeVisible)
RR.Copy
End Sub
343 :
d :2010/01/19(火) 16:31:01
>>342 ちょっと訂正
>Set RR = Intersect(RR, RR.Range("C:E"))
は
Set RR = Intersect(RR, RR.Worksheet.Range("C:E"))
の方が良いかも。
344 :
複乳 :2010/01/19(火) 16:39:41
配列定数の中で関数は使えないのでしょうか 具体的には ={1,2,sum(1,2)} のような感じです。宜しくお願いします
あらら、質問者まで複乳しちゃってるよ。w
346 :
複乳 :2010/01/19(火) 16:53:53
いつも質問するときもコテだよ。本当に分からないので教えてください
定数の意味
やっぱりそうですか。 ありがとうございました
350 :
336 :2010/01/19(火) 21:57:50
336です。
>>338 さん、ありがとうございました。
うまくいきました。
351 :
336 :2010/01/19(火) 22:02:21
見逃してました。
>>339 ありがとうございます。
こちらもうまくいきました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 vba 日付 inputboxに日付をいれると、つらつらと日付が続いて出てくるものを作っています。 Sub テスト() 日付 = InputBox("日付を挿れて♪") For i = 1 To 10 Cells(i, 1) = 日付 日付 = 日付 + 1 Next i End Sub Sub テスト2() 日付 = InputBox("日付を挿れて♪") Cells(1, 1) = 日付 For i = 2 To 10 Cells(i, 1) = Cells(i - 1, 1) + 1 Next i End Sub テストだとダメで、テスト2のようにやるとうまくいきます。 要するに日付を変数に入れたまま+1はダメで、 日付の入った変数をセルに返して、それに+1するのはOKなんでしょうか。 変数のまま日付を足したり引いたりする方法を教えてください。
>>352 2000でそのままコピペしてやったけど、両方出来たよ。
文法が正しくない所は置いといて、ちゃんと動く。
問題は別にあるだろう。
実行時エラーがでるなら、とりあえずエラーNoをググレ
354 :
複乳 :2010/01/19(火) 22:30:33
>>352 ウォッチ式を使えばわかるが、1は日付が文字列型(string型)で格納される
2は一度セルに入力された時に日付型(date型)に変換されている
1も
Sub テスト()
Dim 日付 As Date
で始めれば上手くいく(変数 日付 を強制的に日付型にするため)
強制的に日付にするために「あああ」などと入れるとエラーになる
ちなみに2009/1/1は39815である
シリアル値でぐぐれば少しは理解できるかも
あぁやっぱり変数宣言してないことを指摘してあげるべきだったか。
みなさんどうもご指摘ありがとうございました。 変数の宣言というのは知ってましたが、持ってる本に 「多くの変数を使う複雑なマクロでなければ、宣言を省略しても大きな問題はない」 と書いてあったので略しちゃいましたw
ウォッチ式って何ですの?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル 移動 2行1組の書類があります。 1行3列として、最初の1組A1:C2を例にとると、 A1:A2が、C1:C2がそれぞれ結合されています。以下A3:C4以降同様。 入力の際、EnterでセルがA1:A2→B1→B2→C1:C2と動くようにすることは可能でしょうか? よろしくお願いします。
359 :
複乳 :2010/01/20(水) 09:35:48
>>358 targetとonkeyイベント辺りでできると思うけど作るだけのスキルが無いです
個人的には
=INDIRECT("r"&(INT(ROW()-1)/2)*4+COLUMN()+(MOD(COLUMN(),3)=0)+(MOD(COLUMN(),2)=0)*(MOD(ROW(),2)=0)*-1&"c4",0)
こういう式をA1:C10にでも入れて、D列で内容入力というように、入力と出力分けるといいと思う
表自体が小さければ
A1=D1、B1=D2、B2=D3というようにいれていってもいいかもしれない
他にはA1:C10を選択して決定の際にtabキーを押せば
A1:A2→B1→C1:C2→B2と少し違うが似たような動きをさせることも出来るね
360 :
外国人参政権 Q&A :2010/01/20(水) 10:25:52
Q 何故、民主党は外国人参政権を推進したいの? A 民主党は、いわゆる「反日団体」だからです。 根底に「日本が嫌い」「日本は悪い国」という思想があります。 Q 何故、民主党は日本人なのに日本が嫌いなの? A 戦後60年、日教組が反日教育で日本人を洗脳し続けてきたからです。 洗脳された日本人が反日思想を更に広めるべく教員やマスコミに潜入しています。 また市民活動家や政治家にも大勢潜入しており反日政策を作ってきました。 反日マスコミが反自民党へ世論を誘導して樹立した反日政権が民主党です。 Q 何故、日教組は日本人なのに反日思想を広めて来たの? A 戦後のGHQ統括下で右翼的な思想の日本人は戦犯になりました。 特に教職員(とマスコミ関係者)は駆逐されました。 代わりに教育の現場で指導に当たったのは反日思想の在日朝鮮人と共産党でした。 つまり日教組に「まともな日本人」は居ません。 Q 右翼も「まともな日本人」には見えませんが? A 街宣車で騒音を撒き散らす右翼は、ほとんどが在日朝鮮人です。 その証拠に街宣右翼は「北方領土を返せ!」は言っても「竹島を返せ!」は言いません。 在日朝鮮人が「日本を愛するのは悪いことだ。」と宣伝しているのです。 また「在日朝鮮人はこんな人たちの差別に苦しんでいます。」と自作自演しています。 Q 日本を愛するのは悪いことじゃないの? A 自分の国を愛するのは当然のことであって何も悪いことはありません。 愛国無罪(国のためなら何をしても良い)は悪いことですが。 Q でも日本は過去に悪いことしたんでしょ? A 日教組やマスコミは様々な嘘の歴史が作り上げ広めて来ました。 彼らは「まともな日本人」の感覚では信じられないレベルの大嘘をつきます。
361 :
名無しさん@そうだ選挙にいこう :2010/01/20(水) 14:34:15
362 :
名無しさん@そうだ選挙にいこう :2010/01/20(水) 14:46:56
363 :
358 :2010/01/20(水) 16:16:57
複乳氏、回答ありがとうございます。 なんか難しそうですね。 target onkey をちょっと勉強してみたいと思います。
365 :
複乳 :2010/01/20(水) 16:23:23
>>363 vba イベント onkey
辺りで検索だな
onkeyはキーボードのキーを押したときのイベントを制御
targetはそのイベントの起こる場所を限定できる
と思う。がんばれ
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 複乳 同一人物 句読点 偉人 複乳さんと、複乳 ◆MeiY43UMr. さんは同一人物ですか?
偉人w
368 :
名無しさん@そうだ選挙にいこう :2010/01/20(水) 21:37:15
句読点?w
x 偉人 o 暇人
>>366 マクロで回答したいのだが、
If 複乳 = 複乳◆MeiY43UMr. then と書くと、コンパイルエラーになります。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】オートフィル 連続データ 複数のbook日報形式(1日〜31日)まであるのですが、それを1枚のbookで管理するのに A2='1日'!$H$33 という式があるのですがこの式の日にち(book名部分だけ)を '1日'! '2日'! '3日'! というように横にドラッグしていけば連続して 記入されるようにしたいのですが可能なのでしょうか? 可能であればどのようにすればよいのでしょうか? よろしくお願いします 連続して
>>371 =INDIRECT("'"&COLUMN(A1)&"日'!$H$33")
として右にコピー
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】excel グラフ 並び替え excelで個人別の売り上げ表をつくり、グラフにしています。 表は個人名をあいうえお順で上から並べているんですが、 売り上げをグラフにする時はあいうえお順ではなく売り上げ別に並べたいんです。 色々考えたんですがいい方法が思いつかなかったので、もし出来るのであれば 教えてもらえると助かります。 もう一つ表を作らないと無理でしょうか?
>>372 即レスありがとうございます。
早速試してみたら出来ました。
本当にありがとうございました。
375 :
名無しさん@そうだ選挙にいこう :2010/01/20(水) 23:41:18
【1 OSの種類 .】 Windows xp sp2 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 当番表 lookup 2種類の当番表を一つのシートで上下に作成し、各氏名ごとに指定した当番の結果を もう一つのシートに反映させたいと考えています。 【表1】 左端列には上から下へ「氏名」、先頭行には左から右へ「日付」 【表2】 左端列には上から下へ「当番種類」(レジ・掃除・品出し・戸締り 等) 先頭行には左から右へ「日付」 【表1】中で各氏名ごとに当番を指定すると表2の当番表にその氏名が表示されるように したいのですが、LOOKUP関数を使っても並べ替えの制約のためか思うように 作成できません。 エクセル上で関数だけを使っては作成できないのでしょうか?
できる ガンガレ!
VLOOKUPでググって幸せ HLOOKUPでググって不幸
>>373 どういう管理してるかわかんないけど、そのグラフだけ欲しいなら、
五十音順の表でグラフ作って、表を売り上げ順に並び替えを実行すれば、グラフもそれ順になるよ。
並び替えの方法はわかるよね??
その作業をマクロに記録しておけば後々楽かなぁ。
379 :
複乳 :2010/01/21(木) 09:46:49
>>366 よく見れば大体分かると思うが・・
>>373 A1:A5に名前
B1:B5に金額
C1=ROW()/10+B1
D1=RANK(C1,C:C,0)
E1:E5=1、2、3、4、5
F1=INDEX($A$1:$A$5,MATCH(E1,D:D,0),1)
G1=INDEX($B$1:$B$5,MATCH(E1,D:D,0),1)
FGでグラフを作成
>>375 A1:E5で上の表(一列目一行目は項目)
A11:E15で下の表
B12=IF(ISERROR(INDEX($A$2:$A$5,MATCH($A12,B$2:B$5,0),1)),"",INDEX($A$2:$A$5,MATCH($A12,B$2:B$5,0),1))
後はB12をE15までオートフィル
380 :
複乳 :2010/01/21(木) 09:47:43
>>378 あ、そんな方法があったのか
グラフ作らないから知らないんだよなぁ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel テーブル 列 選択 質問です テーブルの中の任意の列だけを選択することってできますでしょうか?
結合セルの並び替えは不可です
マクロでもなんともならないの?
385 :
複乳 :2010/01/21(木) 18:14:25
結合を解除して並び替え、それをvlookupやindexmatchなどで拾ってくるべき
>382 いくつかおたずね 1 項目2の値は重複がありえますか? 重複がないならVBAを用いず、計算式だけでできそう。 2 up3.viploader.net/ippan/src/vlippan058331.png のように、隣に並べ替え後の表をつくっていいのかな? 今考えているのは、K列1行目から1件1行(4列+RANK関数による順位列)にデータを揃えてからF5:I19 の表を作る(この表も計算式のみ)方法です。
>>385 ありがとやんした><
>>386 やっぱりワンクッション置いて処理しないとダメなんですね><
実際には、画像以上のデータが大量にあるので面倒くさいです。。。。
ありがとう><
>>382 まず値500を15000に変えるには…
389 :
386 :2010/01/21(木) 19:28:34
>382,387 作ってみたのでアップします。(項目2の値に重複があるとダメです) 1件1行用のデータ領域 K1セル =INDIRECT("B"&ROW()*3+2) L1セル =INDIRECT("D"&ROW()*3+2) M1セル =INDIRECT("D"&ROW()*3+3) N1セル =INDIRECT("D"&ROW()*3+4) O1セル =RANK(M1,$M$1:$M$10) $M$10の行位置は最大データ数以上であること ここまで入れたら、件数分下へドラッグコピー G5セル =INDIRECT("K"&MATCH(INT((ROW()-2)/3),$O$1:$O$10,0)) $O$10の行位置は最大データ数以上(以下同じ) I5セル =INDIRECT("L"&MATCH(INT((ROW()-2)/3),$O$1:$O$10,0)) I6セル =INDIRECT("M"&MATCH(INT((ROW()-3)/3),$O$1:$O$10,0)) I7セル =INDIRECT("N"&MATCH(INT((ROW()-4)/3),$O$1:$O$10,0)) ここまで入れたら、G5:I7セルをコピー、2件目以降下端まで範囲選択して貼り付け なお、当方はWindowsXP、Excel2003です。vbaは誰かやってくれるでしょ。
tttttt
391 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 19:30:24
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 大歓迎 【5 検索キーワード 】 セル I2からM2まで関数を作りました。 これらをまとめて、セル I34000 M34000 までコピーしたいのですが、やり方がわかりません どうか教えてください。 よろしくおねがいします
>>388 うおwわかりやすく、極端な数字使おうと思ってたら、
元の方を変えるの忘れてたw
>>389 ありがとう!ちょっといじってみる。
>>391 I2からM2を選択
そしたらその枠線の右下に黒い四角がでるでしょ
これを下へドラッグ(クリックしながらマウスを下に動かす)する
ちなみにこの動作をオートフィルという
395 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 19:37:12
>>394 ありがとうございました
>>391 3つある
I2からI2を選択して、右下の■を下へドラッグ
34000行目でうまい具合にやめる
I2からI2をコピー
I3から、M34000までドラッグして選択
その上で貼付け
Sub コピー()
Range("I2:M2").Copy
Range("I34000:M34000").Select
ActiveSheet.Paste
End Sub
>>396 Range("I2:M34000").Select
じゃね
失礼w
>>391 "名前ボックス"を活用すれば簡単ですよ。(例:A1を選択しているとき、シート
すぐ左上にA1と表示しているボックス)
1.まずI2からM2を選択するのですが上記の名前ボックスへI2:M2と記入する。
2.コピー
3.今度は名前ボックスにI34000:M34000と記入する。
4.貼り付け
で完了。
>>391 名前ボックスに i2:m3400 と入れる。
Ctrl+D
ドラッグとかマクロとか、もうね…
401 :
399 :2010/01/21(木) 20:05:27
誤 3.今度は名前ボックスにI34000:M34000と記入する。 正 3.今度は名前ボックスにI2:M34000と記入する。 でしたね。失礼。
402 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 20:54:15
>>382 元データを A1:Cn とすると
D1に =C2+0.1、D2に =C2、D3に =C2-0.1、E1に =A1 と入力
D1:E3 を選択して、n行目までオートフィル
選択状態のままコピー値貼付け、CDE列を降順並び替え
A1に =E1 と入力、n行目までオートフィル
選択状態のままコピー値貼付け、DE列削除
>CDE列を降順並び替え Dをキーに、が抜けてました。
405 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 22:18:10
小文字で書いて同セルで大文字に変換させる事は可能ですか?
406 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 22:28:53
>>405 シートモジュールに
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = StrConv(Target.Value, vbUpperCase)
End Sub
ってすれば可能。でも、このままだったら使い勝手が悪いから範囲なり指定してあげないとダメ
一般機能では同一セルではムリじゃね?
407 :
名無しさん@そうだ選挙にいこう :2010/01/21(木) 22:43:51
>>406 それだと無限ループにならない?
一旦イベント止めないと
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = StrConv(Target.Value, vbUpperCase)
Application.EnableEvents = True
End Sub
409 :
名無しさん@そうだ選挙にいこう :2010/01/22(金) 00:21:57
すいません、どこで聞けばいいのかわからないのでスレチと思いますが 教えてください。 このスレやエクセルの学校なども3日間見ましたが、結局自分には 荷が重いと判断し、どこか?どなたか?に売上げデータ表計算を データから日報、月報を組み上げて頂きたいと思っているのですが どこで、どんな組織にどのように依頼するのがいいのでしょうか? 会社で依頼するような大掛かりなものでもなく、自分の担当する部門の ほんのちょっと知識があれば出来そうなコトなんですが、自分にはどうにも 期限に間に合わせることが出来なさそうな事態なんです もちろん会社の売上げデータゆえココでUPしてさらすわけにもいかず かといって、きっとココの人たちなら簡単にこなしてしまうであろう 内容を業者に個人で出すのもなんだかなぁと思い困っています。 どなたか、よい情報ないでしょうか?
>>409 お仕事としての依頼ですか?
それともタダでやってちょうだいということですか?
タダでやってちょうだいということです
412 :
名無しさん@そうだ選挙にいこう :2010/01/22(金) 00:45:49
タダでもいいという趣味の範囲でやっていただける位と思える内容なんで どこに頼んで、いくらくらいというのもわからないんです。 もちろん依頼するわけですから、無料でない可能性が高いのですが 個人ゆえに相場もわかりません すいません、どこかないでしょうか?
>>409 身の丈に合わぬ仕事を安請け合いした己を恥じよ。
>>412 場所はどこですか?
直接訪問する必要があるのか、メールや電話のやり取りでわかりそうなのか。
何日くらいでできそうなのか、支払えるとしたらいくらまでなのか。
相場は私よくもわかりませんが、ソフトハウスに頼むと1人月50万以上ではないでしょうか。
415 :
名無しさん@そうだ選挙にいこう :2010/01/22(金) 01:09:53
50万ですか。 ただの表計算なんですが・・・。 自分の無力、無学を嘆いて謝っときます。 詳しい人ならメールのやり取りで半日もかからない作業だと 思いますが、自分で教室に通ったほうが安いですね。 情報ありがとうございました。
グダグダ書いてねーで、ダミーのデータをうpして こんな感じのが作りたいって書け
417 :
複乳 :2010/01/22(金) 08:50:18
>>400 ドラッグしらなそうだったしなー
じゃあ別解でジャンプはどうよ
ctrl+gで範囲を入力、ok
どうみても名前ボックスのほうが早いですね。ありがとうございました
>>409 売上データ エクセル テンプレート
でぐぐれ
大昔1シート3000円でエクセル作成ってDMがFAXで来たことがあったが
どこか分からない
418 :
名無しさん@そうだ選挙にいこう :2010/01/22(金) 20:01:18
質問です 複数のdatファイルを一括でcsvファイルに変換する方法を ご存知の方はいらっしゃいますか? 教えていただけると助かりますm(_ _)m
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】vba ivent A1セルの文字列に応じた文字列をB1セルに表示したいのです。 A1の候補は日常的には10種類ほどなのですが、 時々こちらの想定していない文字列が入ることがあり、 その場合はA1、B1ともに手作業で入力するようにしたいです。 だから「B1=VLOOKUP(A1,…」は使えない? ような気がします。 VBAのiventだと可能でしょうか。 ちょっと調べてみたところ、「特定のセルに特定の文字列が入った場合に作動する」 というのはできなさそうなふいんき(何故か変換できない)でした。 うまい方法はないものでしょうか。
>>419 vlookupで入力してエラー値に条件付き書式で色つきにでもするほうが早い気もする
>>418 datの形式は色々あるので答えられない
421 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 00:17:52
>>416 ,417
ありがとうございます。
ぐぐってみますが、わからなかったときはブック毎どこかに
UPすれば御意見いただけますか?
今日はとりあえず平謝りで作業丸投げしてきました。
情けない限りです。
>409,421 ブックをアップする際には、くれぐれも会社や個人の情報が出ないようにしてください。 シート上で目に見えるものだけが情報ではありません。 メニューのファイル-プロパティで「ファイルの概要」タブには タイトル、サブタイトル、作成者、管理者、会社名などの項目があります。 その他、隠しシート、非表示列・行、文字色が白になっているセルやテキストボックスなど いろいろあります。
>>422 作業丸投げということは他の人がやることになったのだろう
>>421 まとりあえずピボットテーブル覚えればいい。
ピボットテーブル使えるようにブックを作れ。
エクセルのコツはこれだけだ。
>>424 結果の数字さえ出ればいいんならピボットテーブルだけで足りるけど、
体裁を整えて報告書にするとか特定のフォーマットで出力しなきゃならんとかだと
もうちょっとExcelを勉強する必要がある。
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 if 削除 質問が2つあります。エクセルで部品番号(A列に4000個)を管理しています。 管理しているソフト(データベース)から部品番号を出力すると、今までエクセルで管理している部品番号に「-」、「/」、(例:145-356 →145356、145-35//6 →145356)や桁数が古い場合(5桁)、部品番号の頭に「0」(例: 45-356→045-356) が追加されます。 毎度、毎度「-」や「/」や頭の「0」を削除するのが面倒です。 下記@Aついてご教授ください @「-」や「/」を削除する方法でもっと単純方法が知りたい A列に部品番号あります。 作業列をB,C,Dにつくり B列に 「−」の削除 =SUBSTITUTE(A1,"-","") C列に 「/」の削除 =SUBSTITUTE(B1,"/","") D列にC列をコピーして「値を貼り付け」 しています。 ほかにもっといい方法あれば、ご教授ください A 上@の部品番号のなかで、古い部品は桁数が1桁少なく、頭文字に「0」ついているもがあります。 部品番号の中で頭文字に「0」がついているものだけ、「0」を消したいと考えています。 やりたいこと 045-123 →45-123 頭(左)が「0」の場合は消す 145-123 →145-123 頭が「0」じゃない場合はそのまま if文を使えばできるのか、マクロじゃないとできないのか、ご教授ください(もしよろしければ関数も)
>>426 1は置換。置換後の文字列を指定しなければそのまま削除と同じことになる
マクロの記録でボタンに登録すればもっといい感じに
2は=IF(LEFT(A1,1)="0",RIGHT(A1,LEN(A1)-1),A1)
>>426 2はleftで最初の1文字を取得して、ifで
0の場合はmidで2文字目から最後まで(セルの文字数を取得して抜き出す文字数を数える)抜き出す、
0以外の場合はそのまま、
で一応の目的は果たせる。あまりかっこ良いやり方ではないけど。
@置換 A=IF(AND(LEN(A1)=7,LEFT(A1)="0"),RIGHT(A1,6))
ちなみにA列に@とAが混在しているときに"-"の置換するとAの頭の0は消える のな。(書式:標準の場合。)
431 :
426 :2010/01/23(土) 14:08:18
>>427-
>>430 ありがとうございます。できました。
>>427 置換後で文字列を「""」で何もなしを指定して削除しています。 何も指定しなければ削除になるんですか?
=SUBSTITUTE(A1,"-",)でもできました。
>>430 たしかに消えました。ありがとうございます。
sum()などの関数で範囲指定をする時、 1000行を超えような時、マウスで指定していると、 通り越してしまったり、遅かったりで困っています。 CTRL+↓みたいな、効率的な操作方法はないでしょうか?
>>432 あらかじめ範囲を確認して直接括弧内へ入力してもいいのですよ。
shift+ctrl+↓
436 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 17:01:32
コンマの入ったデータを、「テキスト(タブ区切り)」で保存して、あとで中身を見ると そのコンマを使ったデータにわさわざ"(ダブルクウォーテーションマーク)が囲まれてしまいます。 これを防ぐにはどうしたらいいですか?
わかんないけど、テキストエディタで"を置換すればおk
【1 OSの種類 .】 WindowsXP Pro SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】否 【5 検索キーワード 】 max関数 項目│値│項目ごとの最大値 A │100│130←※ここ(C2)を求める数式を作成したいです。 A │130│130 A │120│130 B │100│110 B │110│110 C │200│200 C │100│200 C │150│200 C │130│200 ↑項目数は一定ではありません。 ※項目ごとの最大値を求める数式を作成したい。 ※セルC2に数式を入れ、C列にコピペできるようにしたい。
439 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 17:22:20
440 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 17:31:23
しかし置換以外に本当に方法はないの?
>438 おたずねします。 Q1 A列はソートされているの? Q2 A列でソートされていない場合、キー1:A列、キー2:B列でソートしていいの?
442 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 17:59:54
>>438 =INDEX(MAX(($B$2:$B$10)*(($A$2:$A$10)=A2)),0)
443 :
426 :2010/01/23(土) 18:10:19
置換理解しました すいません ctrl+H のすべて置換ですべてがうまくいきました
444 :
名無しさん@そうだ選挙にいこう :2010/01/23(土) 18:10:48
=MAX(($B$2:$B$10)*(($A$2:$A$10)=A2)) これを入力した後、Ctrl+shift+Enterで確定でも可(式の前後に{ }がつく)
445 :
438 :2010/01/23(土) 19:14:54
>441-444 442さんの方法で441さんのソートにも対応できました。 THXです。
>>440 重いつかない。もともとその仕様はcsvの時のもので、タブ区切りに流用しちゃったのかも
MSに要望だせば治るかもしれないね
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】可 【5 検索キーワード 】 並べ替え グラフ A 1 B 2 C 3 D 4 E 5 上のような感じのA列に文字、B列に数字が入っている表があって、 この表から普通の棒グラフにしたいのですが、グラフは A 5 B 4 C 3 B 2 A 1 というように数字を降順で並べ替えてグラフにしたいと思っています。 元の表はABC順のままです。 こういうのは可能でしょうか? 数字を降順で並べ替えた表は「表示させないで」グラフにしたいんですが…。 VBAで出来るなら調べて勉強しようと思うので教えていただけると助かります。
つい最近似た様な質問あったから検索してみ
450 :
422 :2010/01/24(日) 00:43:48
>>423-426 ありがとうございます。
今回困ったのが、まずシートは4シート
シート1=形式がある程度決まっている結果を表示する「日報」、シート2=レジから出力されるレシート1の結果を日ごとに入力したもの
日付 売上げ りんご バナナ みかん ・・・・
1/1 150000 20000 15000 10000 ・・・・
1/2 120000 16000 12000 8000 ・・・・
1/3 100000 30000 10000 12000 ・・・・
シート3=レジから出力されるレシート2の結果で当日の各伝票毎の項目の詳細
1/1 りんごA×2 産地B 価格C
1/1 みかんC×3 産地D 価格H
1/1 りんごB×1 産地B 価格E
1/1 バナナA ×4 産地C 価格A
1/1 りんごB×2 産地B 価格E
・
・
・
1/2 りんごB×6 産地A 価格A
1/2 みかんA×4 産地C 価格D
・
・
シート4=月初に決めてある日ごと予算表
で、シート1日報はまずDATEにて日付を入力を2箇所(10/1/1や10/1/18など合計したい開始日と10/1/23の当日の日付入力。開始日を月初や週頭の月曜に設定し、本日までの合計をさせる為)
で、
@、当日売上げや予算を「日報」の所定のセルに表示させるのはVLOOKUPにて当日日付をシート2から検索して表示させられるのですが、その右横に設定した期間に対応した合計を表示したいのですが、期間が変動する
場合、どのような数式にしたらよいのかわかりません。
A、当日、累計ともに項目毎の合計をシート3からどのように拾い出して合計していいのかわかりません。
(当日の場合、シート3の同じ日付の中から同じりんごBを拾い出し、数を合計する方法。累計の場合、期間が変動する状態で合計する方法)
ブックをupする度胸がないのでこのようなかき方になってしまい、わかりにくいのですがどなたか読み取れた方が
おられましたらご教授お願いいたします。
451 :
名無しさん@そうだ選挙にいこう :2010/01/24(日) 00:52:48
A1 B1 A2 B2 A3 B3 ・ ・ ・ ・ ・ ・ A800 B800 のようにデータが大量にあります。これをメモ帳に、 [1行目] A1 [2行目] [3行目] B1 [4行目] A2 [5行目] [6行目] B2 [7行目] C1 [8行目] [9行目] C2 [10行目] D1 [11行目] [12行目] D2 のように書き出したいのです。どうすればよいでしょうか?
452 :
名無しさん@そうだ選挙にいこう :2010/01/24(日) 00:54:43
>>451 補足。
つまりExcelでA1〜B800の縦長の長方形内に、文字列データが800x2=1600個あって、
それをメモ帳に上記のように3行セット(真ん中は空行)で書き出したいのですが、
どうすればいいでしょうか?
>>452 CとDってどっからでてきたの
13行目以降もないとわからない
454 :
451 :2010/01/24(日) 00:57:48
すみません、間違えました! 451のは正しくは下です。 [1行目] A2 [2行目] [3行目] A1 [4行目] B2 [5行目] [6行目] B1 [7行目] C2 [8行目] [9行目] C1 [10行目] D2 [11行目] [12行目] D1 ・ ・ ・
455 :
名無しさん@そうだ選挙にいこう :2010/01/24(日) 00:59:15
>>453 ありゃ、また間違えてました!
正しくは、
[1行目] B1
[2行目]
[3行目] A1
[4行目] B2
[5行目]
[6行目] A2
[7行目] B3
[8行目]
[9行目] A3
[10行目] B4
[11行目]
[12行目] A4
・
・
・
456 :
名無しさん@そうだ選挙にいこう :2010/01/24(日) 01:00:10
[2398行目] B800 [2399行目] [2400行目] A800 です。
>>456 C1=IF(MOD(ROW(),3)=1,INDIRECT("r"&INT((ROW()-1)/3)+1&"c2",0),"")&IF(MOD(ROW(),3)=0,INDIRECT("r"&INT((ROW()-1)/3)+1&"c1",0),"")
下にオートフィル。それをメモ帳にコピー
>>450 めんどいので@以降しか読んでないけど
>その右横に設定した期間に対応した合計
sumifか?
あと表の>りんごA×2
の表記はまずい
りんごAと2は別の列にする。分け方はデータの中にある区切り位置でもfindで×を見つけてmid等で切り離してもいい
そうすればピボットなりsumproductなりが使えるようになる
とりあえずファイルがないとしんどい
1から作ったダミーファイルをアップロードすることはできんもんかねー
458 :
456 :2010/01/24(日) 01:47:37
>>457 ありがとうございます!
これはすごい。魔法みたいだ。今年一番感動した!
459 :
450 :2010/01/24(日) 01:48:33
>>457 そうですよね、わかりにくいですよね。
罫線等そのままで名称を変更したファイルをupですね。
どうやってどこにupしたらいいでしょうか?
明日以降で作ってみます。
ありがとうございます。
>451 まあ感動してるんだからいいんだけど オレならこうする C1に ^=b1、C3に ^=a1 と入力 C1:C3選択、オートフィル、 ^ を空白に置換、メモ帳へ とか A1に空セルを入れて1行ずらしてAB列コピー ワードに値貼付け(制御文字置換の為) ^p を ^p^p に、^t を ^p に置換、txt保存 とか
>>461 MODとROWとINDIRECT駆使する手法は覚えないほうがいいよね。
センスが悪くなる。
>>462 センスというよりINDIRECT使いは馬鹿って大体決まってるよ。
まぁ無い頭を振りしぼってMODやらINTやらROWやらINDEXでやるより
>>461 みたいのが一番楽だな。
頭はほとんど使わなくていいし。
例えば、A列 B列 C列 にそれぞれ野菜の名前がランダムで入っているとして、 どれかの列にキャベツがある行を抽出するにはどうすればよいのでしょうか?
465 :
名無しさん@そうだ選挙にいこう :2010/01/24(日) 21:30:08
>>464 じっさいファイル開いてキャベツを探したほうが早くないか?
>>464 D列にa,b,cのどれかにキャベツが入ってれば1を返す式をつくってフィルタ
>>464 と同じだけど
D1=IF(ISERROR(FIND("キャベツ",A1&B1&C1)),0,1)
>>461 俺もそっちの方が良いと思う
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 条件付き書式 コピー
ご相談です
WindowsXPのExcel2007を使っています
テーブルで、ある列に○の記号がある行の文字を太文字にしたいと思い、
条件付き書式で、一つの行ではできたのですが、
この条件付き書式を他の行にも反映させたいのですが、どうすればよいでしょうか?
条件付き書式で一個一個、手入力で入れていくのは大変なため、
なにかスマートな方法があれば、教えてください
↓イメージ図
http://www.dotup.org/uploda/www.dotup.org592916.jpg
472 :
複乳 :2010/01/25(月) 18:14:24
>>471 1.コピーして貼り付け
2.1.だと数値などもコピーしてしまうのでコピーして張り付ける際に「形式を選択して保存」で「書式」のみ
3.2.だと罫線なども移動してしまうので、
嫌だったら新しいシートに条件付書式を先に設定してから数式や罫線をコピーしよう
Ctrl+Aで全選択してからコピーすれば5.6回の作業で全てが終わるはず
473 :
471 :2010/01/25(月) 18:49:25
>>473 =C5="○"
にしてからコピーする。絶対参照は分かるか?条件付き書式でも絶対参照・相対参照はあるぞ。しかもデフォルト設定が絶対参照だからややこしい
ちなみに今のままだと「かきくけこ」の行も「あいうえお」の右となりの○を元に、条件付き書式が設定されている
475 :
sage :2010/01/25(月) 20:51:04
tesuto
477 :
名無しさん@そうだ選挙にいこう :2010/01/25(月) 21:20:26
:名無しさん@そうだ選挙にいこう:2010/01/25(月) 18:01:16 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 VROOKUP・IF シート1 A B C D 1 年月日 時刻 温度 湿度 2 H22/01/05 09:01:31 7 59 3 H22/01/05 13:05:42 10 47 4 H22/01/05 15:03:01 11 54 5 H22/01/06 09:03:47 6 31 6 H22/01/06 13:06:19 10 48 7 H22/01/06 15:08:51 14 34 シート2(1月) A B C D 1 温度 湿度 H22/01/05 2 09時 7 59 3 13時 10 47 4 15時 11 54 5 6 H22/01/06 7 09時 8 13時 9 15時 シート1のデータが6か月分あり、このデータをシート2のそれぞれの日付の時間帯のセルにデータを転記させたいのですがどうすればいいでしょうか? 宜しくお願いします。
VROOKUP
>>477 がVROOKUPで検索かけてたのか
すまんw
482 :
471 :2010/01/25(月) 21:46:10
>>474 レスありがとうございます
絶対参照と相対参照を調べてみました
ふつうにセルをクリックしちゃうと、絶対参照になってしまうのが不便ですね
>>476 うおおおお!これです!!
これがしたかったんです!!
実際にやってみたところ、正しく反映されました!
キャプチャ画像も載せていただいて、ありがとうございます!
レスをくださった方々には心から感謝しますm(_ _)m
483 :
477 :2010/01/25(月) 22:00:39
>>477 すみません。
VLOOKUPの間違いですorz
484 :
名無しさん@そうだ選挙にいこう :2010/01/25(月) 22:58:36
=ADDRESS(MATCH(C45,'sheet1'!C1:C61,0),4,,,"'sheet1'!") って打つときちんと値や文字列を返してくれるのに、 これに↓のようにindirectをつけると#REFってなります。 =INDIRECT(ADDRESS(MATCH(C1,'sheet1'!C1:C61,0),4,,,"'sheet1'!")) どうしたら、きちんと値を返してくれるんでしょうか?
485 :
484 :2010/01/25(月) 22:59:50
すみません。 この操作をsheet2で行った場合です。
486 :
名無しさん@そうだ選挙にいこう :2010/01/26(火) 01:51:49
エクセルに画像を挿入したときに自動的にそのマスメにあうようにするにはどうすればいいですか?
>>484 ADDRESS関数のシート指定が間違ってる。HELPをきちんと読みましょう。
アドレス指定の書式がおかしいのでINDIRECTがエラーになるのは当然。
488 :
複乳 :2010/01/26(火) 09:04:00
>>486 alt押しながらサイズ変更だったかなぁ
ただし横だけっぽいので、縦横あわせようと思えば直接サイズ指定かvba
マクロの記録ですぐにできると思う
489 :
名無しさん@そうだ選挙にいこう :2010/01/26(火) 10:26:12
Excel保存時に出る共有エラーを調べてます。 ファイルを開いて一度目の上書き保存は成功二度目の上書き保存で必ずと言っていいほど 共有エラーが発生します。ググってみるとウイルスバスター2010が原因と出てくるのですが、 ウイルスバスター2010は使用しておらずウイルスバスタービジネスセキュリティーを使用してます。 トレンドマイクロのサポートにも特に現象対応策は掲載されていません。 解決策をご存じな方、ご教授をお願いします。
490 :
名無しさん@そうだ選挙にいこう :2010/01/26(火) 10:26:58
489です。 環境を書き忘れました。 Windows7 64bit Office 2007 ent + SP2
491 :
複乳 :2010/01/26(火) 10:35:38
>>489 トレンドマイクロに直接聞いたほうが早いと思う
もしかしたら不具合発生の第一号かもしれないしねぇ
あとエラーの時はエラーメッセージそのままを検索キーワードにすると解決することがたまによくある
492 :
名無しさん@そうだ選挙にいこう :2010/01/26(火) 10:47:05
【1 OSの種類 .】 MacOSX10.6.2 【2 Excelのバージョン 】 Excel 2004 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 数値が範囲に含まれているか ある範囲の数値(範囲の下限値がAのカラム上限値がBのカラムに入力されている) 30,000行ほど並んだ表があります(1)。 これらのデータのうち、数値がある範囲に含まれているかどうかを判定して 含まれている列だけを取り出すと言う操作をしたいです。 判定に用いる数値データも前述のものと同様に上限値と下限値があります(2)。 (1)は毎回替わる生データ(2)は不変なデータベースと考えてください。
数字のフォーマットは たとえば (1) A B 1 1000 1500 1800 2500 3000 3500 4000 4200 4800 (2) A B 500 900 1600 1700 2800 2900 3100 3400 4000 4500 みたいな感じです。
495 :
質問3/3 :2010/01/26(火) 16:12:48
表計算をすると、1,2,3,5行目だけがリストでソートされ 4行目はリストから外れる こういう感じのことがしたいのです。 もちろんC以降の列にはいろいろとデータがありますが 比較参照したいのはA, Bの列だけです。 よろしくお願いします。
496 :
複乳 :2010/01/26(火) 16:36:56
>>493 表1がAB列、表2がDE列に並んでいるとして
C1=AND((A1<E1),(B1>D1))
でオートフィル、C列でTRUEヲオートフィルタか
微妙に自信がないので確かめてね
497 :
複乳 :2010/01/26(火) 16:38:17
ああ、1行目は金額など、項目の名前にしたほうがいい それでオートフィルタした後の表をコピーすれば、抽出されなかったものは飛ばしてコピーできる
5行目は外れないのか?
499 :
名無しさん@そうだ選挙にいこう :2010/01/26(火) 22:44:08
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 「セル参照と同じ名前を定義することはできません」「R1C1参照形式 名前の重複」 R1C1形式からA1形式に戻せずに困っています。 対応を試みましたが、うまくいきません。 @まず「ツール」→「オプション」→「全般」→の設定で R1C1の設定のチェックをはずしました。 そうすると、「セル参照と同じ名前を定義することはできません」 というエラーメッセージが出ました。 Aそこで「メニュー」→[挿入]→[名前]→[定義]で出てくる名前をすべて消しましたが、 再び@を実行すると同じエラーメッセージが出ます。 どうすれば戻れるでしょうか? ご存知の方がいれば教えて下さい。 よろしくお願いします。
ファイルみないとわかんね
501 :
名無しさん@そうだ選挙にいこう :2010/01/27(水) 00:28:14
今頃2000使用ですいません セルの中に例えば 1000 2000 3000 とデータを複数入れるにはどうしたらいいんでしょうか 表示はもちろん最初の1000だけでいいんです
>>501 セルの中で改行するのはAlt+Enterだが、その数字はそのセルに表示されるだけで
計算には使えないぞ。それでもいいのか?
>>501 定数配列
={1000,2000;3000,4000;5000,6000}
これで横2縦3の表代わりになる
=VLOOKUP(1000,{1000,2000;3000,4000;5000,6000},2,0)
とかね
エクセルで使う場面は非常に少ない気がする
504 :
名無しさん@そうだ選挙にいこう :2010/01/27(水) 18:14:51
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 「日時の推定」 質問です。例えば 1スレ目:「開始日時2010/01/19(火) 22:22:36」「終了時刻2010/01/19(火) 23:12:59」 2スレ目:「開始日時2010/01/19(火) 23:11:09」「終了時刻2010/01/20(水) 00:02:45」 3スレ目:「開始日時2010/01/20(水) 00:02:56」「終了時刻2010/01/20(水) 00:22:08」 4スレ目:「開始日時2010/01/20(水) 00:21:48」「終了時刻2010/01/20(水) 00:34:70」・・・・ のようなデータを入力し、このスレが100スレ目に到達する日時はいつか・・・?という数式を作成したいです。(時刻は適当) 文章が下手ですみませんが、よろしくお願いします。
100スレ目は1スレ+99レスなので、2010/01/19+99が該当する年月日となる
506 :
501 :2010/01/27(水) 20:18:27
>>502-503 レスどうもです
どうやら後者方法で良さそうです
前者方法ですと縦にデータが全部表示されて行が太くなってしまいましたので・・・
そしてそこで更なる問題が出てきました
実はこれは単なる文字列の保管としてExcelを使って管理しようとしてたんですが
>>503 の方法の値の中に、アルファベットが含まれているとエラーが出てしまい
これが新しい問題となりました
={ }という式の中にアルファベットがあることで
「これは数字でない」ということによる原因だと思いますが
単なる文字列として入力するにはどうしたらいいんでしょうか
今までExcelを表計算ソフトでなく、単なる管理ソフトとしてしか使ってきてないため
ちょっと計算式になるともうさっぱりで・・・
そのため
>エクセルで使う場面は非常に少ない気がする
ということだと思います
507 :
名無しさん@そうだ選挙にいこう :2010/01/27(水) 20:50:29
>>505 時刻は適当に書きましたが、1日ごとにスレが終わるのではなく
2日間かかったり、半日かかったりなどの場合でお願いします
じゃあ、50日後から200日後の間だわな。
それならたとえば10レスまでに15日かかったのなら100レス目は 100/10×15=150日目ってことになるが
レスじゃなくスレだった
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否 】 否 【5 検索キーワード 】max関数、excel、ブランク、除外 A1〜A50まで適当な数字が入っているとします。 Bには下記のような関数が入っています↓ B48:=MAX(A29:A48) (A48から20個さかのぼって最大値を出したい。) B49:=MAX(A30:A49) (A49から20個さかのぼって最大値を出したい。) B50:=MAX(A31:A50) (A50から20個さかのぼって最大値を出したい。) もし、Aのセルに空白がある場合には、そのセルを無視して20個さかのぼり最大値を算出したいです。 例えば、A29とA30の2つのセルが空白なら、B48ではA27からA48までの20個の数値で最大値を出したいですが、 よい方法はありますでしょうか?宜しくお願い致します。
>511 作業列を使う方法なら以下のようにできます。 C1セルに=IF(ISNUMBER(A1),1,0)、 C2セルに =IF(A2<>,C1+1,C1)の計算式を入れて、以下フィルコピーする これで、数字だけがあるセルの上からの順番がわかります。 B48セルに =MAX(($A$1:A48)*(($C$1:C48)>(C48-20))) の計算式を入れてから [Ctrl]、[Shift]を押しながら[Enter]を押してください。 {=MAX(($A$1:A48)*(($C$1:C48)>(C48-20)))} というように、前後が{と}にはさまれて 表示されたらOKです。 以下のセルにはB48セルをフィルコピーするといいです。 配列数式というものを最近知りました(>438さんの質問に対する、>442,444さんたちの回答) 複数条件を扱うときに便利です。
513 :
名無しさん@そうだ選挙にいこう :2010/01/27(水) 22:30:56
>>511 b48に
=MAX(INDIRECT("a"&INDEX(LARGE(($A$1:A48<>"")*ROW($A$1:A48),20),0)&":a"&ROW(A48)))
下にコピー
って感じかと思うけど間違ってたらごめん
514 :
512 :2010/01/27(水) 22:32:48
ちょっと修正 × C2セルに =IF(A2<>,C1+1,C1)の計算式を入れて、以下フィルコピーする ○ C2セルに =IF(ISNUMBER(A2),C1+1,C1)の計算式を入れて、以下フィルコピーする
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ドロップダウンリスト ホイールマウス Excelのドロップダウンリストで、下の方の項目を選択する際、 スクロールバーの上で、ホイールを回せば、一応、下の方の項目が出てくるのですが、 項目名の上でホイールを回したときも、スクロールをかける方法ってなにかありますか? かざぐるマウスとかのマウスユーティリティも試したのですが、できませんでしたorz なにかよい方法があれば教えてください
516 :
511 :2010/01/28(木) 07:11:51
517 :
複乳 :2010/01/28(木) 09:27:27
518 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 10:03:20
パソコン買うつもりなんですけど エクセルで関数をたくさん使ってもストレスない処理速度が出るのは どれくらいのスペックでしょうか? CPU、メモリで具体的に知りたいです。 誰か教えてください。よろしくお願いします。
519 :
複乳 :2010/01/28(木) 10:19:19
>>518 少ないセルにたくさんの計算式があるのはどうでもいいが、
たくさんのセルに少しずつの計算式だと重くなりやすい
個人的にはPen3の1G、メモリ128Mもあれば十分
3000円ぐらいの中古でいいんじゃない
520 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 11:38:24
521 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 18:43:00
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 マクロの勉強を使用と思ったのですが 「ツール」+「マクロ」+「新しいマクロの記録」を したらさっきまで出ていた「記…」という小さなBOX が表示されなくなってしまいました。 表示させる方法を教えてください。 あほな質問で申し訳ございません。
522 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 19:38:09
お助けください。 経費資料で例えば 今期1月度累計がセルA1に1000円、前期1月度累計がセルB1に500円とあり、 増減率をセルC1に書式設定パーセンテージの小数点以下1桁で表示する場合、 単純にC1=A1/B1-1 で-50.0%になります。 数値が逆だったら50.0%です。 しかし、次の場合は率を具体的に出す概念があるのでしょうか? どのような数式を入れればいいのでしょうか? @A!=0 B1>0 のとき AA1>0 B1=0 のとき BA!=0 B1=0 のとき 経費なので、マイナスが出てくることはまずないという前提で 考えてくださるとありがたいです。 あらゆるケースに対応できる共通で統一できる式を教えてくださいm(_ _)m
>521 当方、Excel2003だけど手順は同じはず。 1 メニューバーの 表示−ツールバー−記録終了 をクリック 以上
>>521 マクロの記録 表示させるでぐぐる
>>522 >単純にC1=A1/B1-1 で-50.0%に
なりませんけど
まー0除算はエラーだから
=IF(ISERROR(A1/B1),A1/(b1+0.00000001),A1/B1)
と分母に小さい数を足しておけば実用的じゃないっすかねー
525 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 20:17:05
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートフィル オートフィル使用中(ドラッグ中)に、入力される予定のデータが右下に表示されるかと思うのですが、一台だけそれが表示できないパソコンがあるんです・・・ 連続データをオートフィルで入力する場合、とっても不便で困っております。 オプション−基本設定−ポップヒントのスタイルをいじってみても変化ありません。 この原因が何か分かる方がおられましたら、対処方法をお教えいただけると助かります
526 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 20:19:02
521です くだらない質問に答えていただきありがとうございました。
527 :
501 :2010/01/28(木) 21:00:01
528 :
522 :2010/01/28(木) 21:53:12
529 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 22:05:17
>>525 バージョンが古いからか?わかんね
そんなに困るならさっさと再インストールすることをすすめる
>>529 株価グラフの左上に安値高値終値のグラフがあるからそれを使って、
終値のマーカーと線をなしにする
531 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 22:38:41
>>529 なるほど
その手がありました
ありがとうございます
セルの書式の罫線って印刷するとやけに太くないですか? 三種類ある直線の一番細いタイプでも印刷すると太い。 最悪、細かい点線を選択して印刷すると細い線ぽくなるんだけど 今度は細すぎて残念な感じ。 何で毎年バージョンうpしてるのに 罫線の太さを0.01m単位で調節出来る機能搭載しないんだろう? オートシェイプ使いなさいってことかな? もしかして何かいい方法があったりしますか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 VLOOKUP VLOOKUPを使っても、認識しない相談です。 参照する列に書式で「標準」をつかっていて、後から「文字列」に変更しても 別シートにコピーしたりすると、認識したりします。 認識してくれません。 ソフト固有の不具合ですか? 認識率を上げる方法でなんかよい方法ありますか?
534 :
名無しさん@そうだ選挙にいこう :2010/01/28(木) 23:10:13
>>533 何を問題にしているか分からないけれど、表示形式もきっちり同じにすれば問題なし。
後から表示形式を変えたんだったら、一回セルを編集状態にする。
エクセルの不具合じゃなくて、不勉強・・・っていうのは言い過ぎかな
>>534 たしかに不勉強と言われれば、言い返せません。
>表示形式もきっちり同じにすれば問題なし
きっちり同じにしてます。
たとえば、09012341234を、「標準」でコピーして9012341234 とする。 9012341234 を文字列にする
こんな作業を行うと認識しなくなります。(認識しない場合があります) 「’」も入ってないです。
セルを編集状態にしても、認識しません。
同僚に聞いても、手動で直してると、ウチの会社レベル低いかも
>535 とりあえず日本語の勉強からどうぞ
煽るなよ
日本語が下手というか、作文から苦手なんだスマン
そういう時は作文せずに箇条書きにせよ
すみませんがお願いします!!!! =countif($a$1:$a100,<-1) =countif($a$1:$a100,<-2) =countif($a$1:$a100,<-3) 以下続く をプルプルと引っ張って作りたいのですが、うまくー3、−4、−5と 増えていってくれません どうすればいいでしょうか? ちなみに INDIRECTはうまく動作しませんでした
=COUNTIF($A$1:$A100,<-ROW()) =COUNTIF($A$1:$A100,<-ROW()) =COUNTIF($A$1:$A100,<-ROW())
う。動かない号泣
544 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 03:13:19
お願いします!!!! A1 A2 A3 A4 のデータをBの列に逆に並べ替えたいのですがどうすればいいですか? B1−B4 に =B4 =B3 =B2 =B1 って感じで お願いします!!!
>>544 =A4
=A3
=A2
=A1
とすればおK。
=ROW(A$5)-ROW()
547 :
複乳 :2010/01/29(金) 09:17:28
>>532 ないと思う
メリケンはインチ大好きだからインチ基準になるし
日本人ほど枠線にこだわる民族も少ないらしい
Oooでも使うか他のソフト使うか、図で挿入してみてはどうでしょう
>>535 頭の0がなくなるってことなら、
標準にした辞典で9012341234というデータになる。頭の0は消え去る
その状態でどんな書式にしても0は戻らない
>>543 rowは行番号だから変化しなくて良いよ
どうしても気になるなら=row(a1)にしてみては
>>544 C列に4,3,2,1と入力。4,3と入力して下にオートフイルだな
その後C列で並び替えとか
>>540 一旦文字列にしてからオートフィルすればいいよ。
д=countif($a$1:$a100,"<-1")
とか。んで置換で頭の文字を消す。
row()を使うなら
=countif($a$1:$a100,"<"&-row())
>532 色を変えて濃淡で表現してみれば?
550 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 11:25:15
>>548 かなり勉強になりました
ありがとう!!!!!
>>544 =INDEX(A$1:A$4,ROW(A$5)-ROW(),)
552 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 19:08:54
質問します 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 A 1 愛 2 愛子 3 愛 4 愛子 5 愛 Moji = InputBox("名前") Moji = "*" & Moji & "*" この場合、「愛」と入力しても「愛」「愛子」と両方になってしまうのですが 「愛」と入力して「愛」だけにする方法を教えて下さい。
553 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 19:11:14
表がずれてました A 1 愛 2 愛子 3 愛 4 愛子 5 愛
554 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 19:12:26
まただ… 見にくいですがよろしくお願いします
前後に*をつけると文字列中に「愛」を含む文字列がヒットする *をつけなければよろしい
556 :
552 :2010/01/29(金) 19:26:15
>>555 ありがとうございます
説明が悪く申し訳ない
A
1 愛あああ
2 愛子ああ
3 愛あああ
4 愛子ああ
5 愛あああ
というデータなんですよ
この場合で「愛」と入力したら「愛あああ」だけになる方法を
悩んでいます
moji&"あああ" で検索すればよろしい
558 :
552 :2010/01/29(金) 19:35:38
度々申し訳ない A 1 kjhg愛tyii 2 dede愛子lo 3 ssii愛lggc の場合でお願いします
559 :
名無しさん@そうだ選挙にいこう :2010/01/29(金) 19:57:51
無理w
フィルターの範囲にカーソルがある状態で Sub test1() moji = InputBox("文字列は?") crit1 = "*" & moji & "*" crit2 = "like [!" & moji & "子]" Selection.AutoFilter Field:=1, _ Criteria1:=crit1, _ Operator:=xlAnd, _ Criteria2:=crit2 End Sub
訂正 Sub test1() moji = InputBox("文字列は?") Selection.AutoFilter Field:=1, _ Criteria1:="=*" & moji & "*", _ Operator:=xlAnd, _ Criteria2:="<>*" & moji & "子*" End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可・否 質問させてください =VLOOKUP($W3,Sheet2!A3:B3343,2,FALSE) として下までコピーしながら伸ばすんですが 後半になると式が以下になります VLOOKUP($W3343,Sheet8!$A3343:$B6683,2,FALSE) 何故このようなことになるのでしょうか? 前半程度はちゃんとできているのですが・・・ $W3はIF計算式で計算された値です。 Sheet2はA3:B3343までにデータが入っています。 お助けください・・・
うちではならないな ちゃんとこうなる =VLOOKUP($W4504,Sheet2!A4504:B7844,2,FALSE) たぶんやりたいことは =VLOOKUP($W3,Sheet2!A$3:B$3343,2,FALSE) だとおもうが
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】不可 【5 検索キーワード 】 エクセル ランダム 抽出 平均 質問です。 数ある数値の中からランダムに任意の数取り出して その平均を求めることは可能でしょうか? 例えば、A1〜A10に数値が入力してあるとします。 この10個の中からランダムに5個抽出し、平均をとる方法はありますか? よろしくお願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 否(簡単な記録マクロなら経験あり) 【4 VBAでの回答の可否】 可 お願いします。一つのフォルダにブックが4から多いもので40くらい入っています 様式は決まっていますがその中からA列、E、F〜M列までのデータを一つの新規ブックにまとめたいのです ブックのデータは少ないものは1,2行(項目を除いて)多いもので120行くらいです 手作業でもできなくないのですが、まず、フォルダの数が多いのと一つ一つブックを開ける際にデータを混同してしまうミスを 恐れています 開けて→コピペ→保存→閉じる、は記録マクロでは無理ですよね>< どうか、よろしくお願いします
>>564 同じ数字があってもいいの?
全て別の数字になるの?
RANDとRANKとSUMIFをつかえば1回で済みそうだな
>>564 A1-A10に10小の数字として
B1=RAND()
C1=RANK(B1,B:B)+row()/1000
どこでも=SUMIF(C:C,"<6",A:A)/5
一列でいけんのかな
>>565 こんなカンジかな、誰か転作よろしこ
Sub ひとまとめ()
With ThisWorkbook.Sheets(1) 'マクロブックに書き出し
FolderPath = .Cells(1, 1) 'A1にパスを入れておく
TmpBook = Dir(FolderPath & "\*.xls")
DstRow = 2
Do While TmpBook <> ""
Workbooks.Open Filename:=TmpBook, ReadOnly:=True
For i = 1 To Range("A65536").End(xlUp).Row
.Cells(DstRow, 1) = Cells(i, 1)
For j = 5 To 13
.Cells(DstRow, j) = Cells(i, j)
Next j
DstRow = DstRow + 1
Next i
ActiveWorkbook.Close
TmpBook = Dir()
Loop
End With
End Sub
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 2行ごと コピー/エクセル 2列ごと A B C D 1 A1 B1 C1 D1 2 A2 B2 C2 D2 3 A3 B3 C3 D3 4 A4 B4 C4 D4 となっているものを別シートに A B C D E 1 A1 B1 C1 2 3 A2 B2 C2 4 5 A3 B3 C4 のようにコピーしたいのですが簡単に出来る方法はありますか? 現在は、一列ごとに数字を置き換えするようなやり方(一度コピーし3列目の「3」→「2」とか) をしています。
>572 使ってない列にオートフィルで連番を振る 1、2、3… 下の入力のない行の同じ列に同じ分連番を振る 1.5、2.5、3.5… その列をキーに並び替え。連番削除。 列は、少なければ列の挿入で、 多ければ行列入れ替えて、上の方法で。
>572 つROW(),COLUMN()
575 :
572 :2010/01/30(土) 14:38:43
>>573 ありがとうございます。
残念ながらやってみましたがやり方がよくないのかうまく行きませんでした。
>>574 ありがとうございます。
ROW,COLUMNという関数があるのですね。
ちょっと調べたら役に立ちそうです。使い方を覚えて試そうと思います。
>575 シート見出しのタブをCtrl+ドラッグして、コピー先で作業する。 データが400行、H列が使われていないと仮定すると H1:H400に1〜400の連番をオートフィルで入れる。 次にデータのない行のH401:H800に1.5〜400.5の連番を入れる。 シート全部選択して、データ→並び替え →最優先されるキーをH列にしてOK、不要になったH列データ削除。 400行、H列は、実際のデータに読み替えて呉。 A B … H 1 A1 B1 1 2 A2 B2 2 … 400 A400 B400 400 401 1.5 402 2.5 … 800 400.5
B1やA2などに余分な数式やデータが入っててもいいんならROWとCOLUMNで数式を一つ作って オートフィルするだけなんだけど セルが完全に空白でなきゃいけないんだったらVBA使わないと無理じゃないかな
行の挿入をしても特定の行だけ下にいかずそのままの行に固定したいんですがどうすればいいんでしょうか その行だけスルーしてその固定行の上の行がスルーした固定行の下にいくようにしたいんですが。
無理
Excelでグラフを作っています。 表は個数 故障した数 稼働時間と3つ並んでいて、 1000個 5.4個 160:00 800個 8.2個 180:30 950個 7個 150:00 こんな感じです。 グラフにするときに棒グラフと折れ線の複合グラフにしたいです。 (個数が棒グラフ、他2項目が折れ線グラフで) 実際グラフを作ると故障した数と稼働時間の単位が違いすぎて折れ線グラフが見にくいんですが、 何か見やすくなるようないい方法はないでしょうか? やっぱり数を100倍したりして数を変えるしかないですか?
581 :
580 :2010/01/30(土) 18:46:43
すいません書き忘れました。 Excelのバージョンは2003、OSはwin XPです。
582 :
名無しさん@そうだ選挙にいこう :2010/01/30(土) 18:53:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい ※勉強中の初歩 【4 VBAでの回答の可否】 可 会社で事務部門に異動になったのですが各種のデータの日付が 211201の平成表記や091201の西暦表記など混ざり合っているので作業が進みません そこで全て西暦表示に統一したいと思い下記のような式を作ったのですが 211201などの場合はうまくできたのですが、211212など数列の先頭以外に21が 入っているとうまくいきません 頭2桁だけを式に反映させるようなことはできないのでしょうか? よろしくお願いします =SUBSTITUTE(B2,"21","2009")
=IF(LEFT(B2,2)="21","2009"&RIGHT(B2,4),B2)
584 :
582 :2010/01/30(土) 19:23:04
585 :
名無しさん@そうだ選挙にいこう :2010/01/30(土) 19:29:12
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 VBAなんですが FFなどブラウザにある特定の文字の行を抜き取ってテキストを貼り付ける場合どうすればいいのでしょうか? たとえばブラウザに タイトル〜 監督〜 脚本〜 出演〜 とあった場合、 特定の文字を監督に指定したら 監督〜をの行を出力したいのですが
>>585 ブラウザ上では「行」の概念が曖昧なので、行単位で抜き出すのはほぼ無理。
web連携で該当部分を抜き出してからフィルタで抽出すればいいのに
【1 OSの種類 .】 Windows2000SP4 【2 Excelのバージョン 】 Excel2003SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 関数 グラフ 色分け 10*x^2 + 20*y^2 + 30*x*y + 40*x + 50*y + 10 = z のような関数をxy軸のグラフにして、グラフ上の(x,y)の位置が z>=0の場合とz<0の場合で背景を色分けすることはできますか?
>>585 IEオブジェクトを使えば表示されているテキスト部分を取得できるので
それを変数へ取り込んで検索
VBAではなくVBSだけど
下記のサイトなんか参考になると思う
http://www.happy2-island.com/vbs/cafe02/capter00711.shtml IEオブジェクトの作成方法は他にもあるみたいだけど
自分は下記しか知らないので
'googleのトップページのテキスト部分を取得する(〜IE6まで)
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub TEST()
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "
http://www.google.co.jp/ "
Do Until objIE.Busy = False
Sleep 250
DoEvents
Loop
BodyText = objIE.Document.Body.InnerText
objIE.Quit
'メッセージBOXで表示
MsgBox BodyText
End Sub
591 :
kaimiyu :2010/01/30(土) 22:25:42
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロ、VBA超初心者ですが、仕事で必要とされているのでがんばります。 さて、質問ですが、 現在、エクセルからリンクをはって、テキストコマンド(バーコードプリンタに印字させるコマンド) を開き、そこからプリンタを選択して印字しておりますが、それだと手間なので、マクロやVBAで エクセル上にボタンを作成し、そのボタンを一回押すだけで、印字までできますか? 補足ですが、テキストコマンドは、エクセルシートとは別のテキストファイルです。 よろしくお願いします。
592 :
名無しさん@そうだ選挙にいこう :2010/01/30(土) 22:34:19
セルに 1/2 と入力すると 1月2日 になってしまいます こういうウザい変換をdisable(日本語でどう言うんだっけ?)にするにはどうしたらいいですか?
593 :
592 :2010/01/30(土) 22:35:40
無効か (^^;
>>592 エクセルだからね〜無理(´・ω・`)だとオモ
あらかじめセルの書式設定をしとけばいいのでは?
>592 セルの表示形式を「文字列」にしたらいいのでは?
グラフ作成に関して質問です。 最小値が500 最大値(項目数が2つか3つ程度)が35000 これのグラフを作った際、 35000 ● 500 ○ のように最大値だけかけ離れてしまうのですが、どうにかして目盛り幅(?)を 調整できないでしょうか…
>>596 どんなデータか知らんが、データに極端に大きな幅があるときは対数グラフとか使うこともある
>596 テレビなどがよく使う 中抜きグラフ みたいなもの? 35000 ● 30000 ● ● 〜〜〜〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜〜〜〜〜 500 ● ● ● ● ● 0 −−−−−−−−−− A B C 大きな値のところだけ適当に変更して、目盛りの数値は白文字にして、上から数字をかぶせる +中抜きの波線エリアを図形で書き足すとかの方法はいかが?
対数グラフを調べてみて、それを使うことで解決しました。 ありがとうございました
ここの人たちって、紳士が多いよね
601 :
588 :2010/01/30(土) 23:28:16
【1 OSの種類 .】 Windows2000SP4 【2 Excelのバージョン 】 Excel2003SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel2003 等高線 グリッド(目盛軸) 消す / excel 等高線 目盛ラベル 連続で申し訳ないのですが、等高線グラフ(2D)のプロットエリアグリッド(目盛軸?)は消せないのでしょうか? また、散布図のように、y軸の目盛ラベルをグラフの左側に表示させることはできないのでしょうか? 上はExcel2000だとできるようなのですが… 下は、y軸の「軸の書式設定→パターン→目盛ラベル」の「下端/左端」「軸の下/左」の設定をしてみたのですが 3Dグラフ専用の設定らしく、2Dグラフでは機能しませんでした(変化なし)
>>602 グリッドを消すのは、凡例マーカーの書式→パターン→輪郭→なし
>601のコンター図では右の凡例の中の色つきの四角をダブルクリックして書式設定。
色分けされた一つずつ設定する必要があるため少々面倒臭い。
604 :
602 :2010/01/31(日) 17:23:34
>>603 できました、ありがとうございます<(_ _)>
たとえばA列に 4 3 5 4 3 4 ・ ・ ・ と並んでて、各項目(3とか4とか5)を横軸、各項目の数を縦軸に棒グラフ化したいときは まず自分で 3が2個、4が3個、5が1個と集計してから、それをグラフ化しないといけませんか? A列を選択して1クリックで棒グラフを出すことは出来ませんか?
>>605 さすがに1クリックでは無理。
同じデータの個数を数える方法はいくつかあるけど、一番おすすめなのがピボットテーブル。
たしか7クリックぐらいで集計ができたはず。
607 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 18:48:04
>>605 ピボットテーブル→ピボットグラフなら出来るよ
608 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 18:48:36
あ、もちろん1クリックは無理。ただ関数は使わない
609 :
605 :2010/01/31(日) 19:30:20
610 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 19:46:53
averageとかMaxの関数の範囲指定を、1箇所変更したら他の部分も自動的に変更できるようにできないでしょうか? 例えば、A1に=average(A2:A10), B1に =average(B2:B10) と入っていて、 A1を average(A11;A20) と変更したら、自動的にB1も =average(B11:B20) という風に変更されるようにしたい。
>>610 11とか20といった数字をどこかのセルに入れておいて、そこを参照するような式を作る
>610 1箇所変更とはいかないけれど、始行と終行の2セルで指定する方法は以下のとおり C1セルに始行、D1セルに終行を入れるとして、 A1セルの式 =AVERAGE(INDIRECT("A"&C1&":A"&D1)) B1セルの式 =AVERAGE(INDIRECT("B"&C1&":B"&D1))
614 :
613 :2010/01/31(日) 20:20:16
>610 ひとつのセル(表示書式は文字列にしておいてください)に 2:10 とか 11:20 などと入力して 指定する方法は以下のとおり(E1セルに行範囲を指定しています) A1セルの式 =AVERAGE(INDIRECT("A"&LEFT(E1,FIND(":",E1,1)-1)&":A"&RIGHT(E1,LEN(E1)-FIND(":",E1)))) B1セルは上記の A を B にしてください 先に行範囲を指定するセルに入力してから、上記の式を入れてください。
615 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 20:26:55
質問です。よおろしくおねがいします。 エクセル2007.XP。 webクリエにてあるサイトの情報をコピペしたいのですが、(マクロ化を考えています) 最初のページは取得できるのですが、次に欲しいところ以降が最初のページと同じURLで情報が取得できません。 詳しい方、解決方法をぜひご教授ください。よろしくお願いします。
>>615 ここで取り扱うべき問題かは知らんが、とりあえずURL晒してみ。
場合によっては力になれるかも(要はサイトの構成を知りたい)。
617 :
610 :2010/01/31(日) 20:51:13
618 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 21:27:04
>>618 そういうのは、たいてい隠しフォームにパラメータが書いてある。
それを取り出して自分でURLを再構成すればたいてい行けるんだが、
Excel固有の問題じゃないから、ここで説明するのはスレ違い。
620 :
名無しさん@そうだ選挙にいこう :2010/01/31(日) 23:30:27
622 :
名無しさん@そうだ選挙にいこう :2010/02/01(月) 00:17:03
623 :
565 :2010/02/01(月) 00:57:17
>>571 さん回答していただいたようでありがとうございます
現在無茶忙しくまだ試せていないままお礼だけでもとカキコミました、遅くにごめんなさい
近く、試してみてわからないところをまたまたお願いするかもしれません
その時にはよろしくお願いします
バタバタとしたレスですみません、取り急ぎお礼まで><
>610さんの件については、 INDIRECTを使わないでも、セル範囲の指定ができたような気がする。 2個の「セル範囲」の重なる部分だけを処理対象とする指定方法ってありませんでしたっけ? ひとつのセルに A:A、もうひとつのセルに 2:10 って指定して A2:A10 をセル範囲とする ような方法です。
625 :
複乳 :2010/02/01(月) 09:38:00
>625
自己解決しました。
参照演算子を半角スペースにすると、重なる部分を指定したことになるというものです。
普通は , と : しか使いませんよね。
パソコンさぽーとねっと
http://www.ntswebnet.jp/pc/index.cgi?field=8 の一番下にありました。
なので、>614の式は
A1セルの式 =AVERAGE(INDIRECT("A"&LEFT(E1,FIND(":",E1,1)-1)&":A"&RIGHT(E1,LEN(E1)-FIND(":",E1))))
から
A1セルの式 =AVERAGE(A:A INDIRECT(E1))
になります。E1の表示形式が文字列であることはかわりません。
627 :
626 :2010/02/01(月) 10:14:20
結局、INDIRECTは必要でした。
628 :
複乳 :2010/02/01(月) 10:20:23
へぇ、そんなのあったのか。知らなかったよ
629 :
626 :2010/02/01(月) 10:51:44
630 :
複乳 :2010/02/01(月) 14:08:52
これはどうもご丁寧に・・
縦に1000セルあってその中のデータの入力されている、番号が古いセルのデータ40個の平均を出したいのですがどうやれば最新40データのみの平均を出せますか?
番号が古いってどういうことだ・・・
>631 A列が番号、B列がデータとする。 番号は大きな程新しく重複はないものとする。 =SUMPRODUCT(B1:B1000*(A1:A1000>LARGE(A1:A1000,41)))/40 ホントは並び替えればいい話なんだけどね。
古いセルで最新40って、新しいのか古いのかどっちがどっちかわかんねえぞ 小学校から日本語やりなおせ
>>633 a列の40番目と同じデータがあるとまずいんじゃね?
番号が若いって表現はあるけど年取ってるとか古いとかは言わないよな不思議
638 :
名無しさん@そうだ選挙にいこう :2010/02/02(火) 10:06:51
最近の年取ったもんはって表現はあるけど最近の若いもんはとか言わないよな不思議
639 :
名無しさん@そうだ選挙にいこう :2010/02/02(火) 11:27:34
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 グラフでの質問なのですが、 ■■□□□ ■■□□ ■□□ こんなグラフを作りたいと思っているのですが、 どのようにしたらよいのでしょうか? どうやっても0からの値 □□□□□ □□□□□□□□ □□□□□□□□□□ このようになってしまうのですが…
640 :
複乳 :2010/02/02(火) 11:37:13
>>639 グラフの種類で上にユーザー設定ってタブがあると思う
そこのフローティング横棒
縦で良いなら株価でもいいんじゃない
641 :
名無しさん@そうだ選挙にいこう :2010/02/02(火) 11:43:29
質問です。当方、エクセル2002使用。VBAの知識はありません。 日常的に活用せず、時々使用する程度です。 A B C 1 0 0 ? ※セルA1=0(ゼロ・数字)、B3=1(数字)です。 2 1 0 ? 文字列や整数ではなく、数字のゼロが入っていることに注目願います。 3 0 1 ? C1、C2、C3の「?」内に、今回質問する関数を入力します。 4 1 1 ? ゼロが2個の場合→"◎" 1個の場合→"○" 無い場合→"×" と、表示したいのです。 C1〜C4には、どのような関数を入力すれば宜しいのでしょうか? 直感では、If、And、Orの組み合わせかなと思い、 =IF(AND(A1=0,B1=0),"◎",IF(OR(A1=0,B1=0),"○","×"))を入力しました。 私の場合、関数の組み合わせとなると、根本的な知識が足りないようで、 その関数では正しい判定表示ができません。 自分なりにネットで検索して調べましたが、ヒントらしきヒントを探せませんでした。 面倒をおかけしますが、ご教示いただけませんか? よろしくお願いします。
>636 だから重複なしの前提なの。
>>641 関数はそれで大丈夫だと思う。
正しく判定できないのは、A,B列の書式が"文字列"になってるんじゃないかい?
全角(文字列)の数字で判定を行うなら、
=IF(AND(A1="0",B1="0"),"◎",IF(OR(A1="0",B1="0"),"○","×"))
644 :
複乳 :2010/02/02(火) 12:07:41
>>641 恐らくAB列が文字列になっている。解決方法は2通り
AB列の書式設定を数値等、文字列以外に直す
C列の数式を
=IF(AND(A1="0",B1="0"),"◎",IF(OR(A1="0",B1="0"),"○","×"))
と文字列としての数字で判定する
文字列だろうが数字だろうがキャストさせちまえばいい。 =IF(A1+B1=0,"◎",IF(A1*B1=0,"○","×"))
EXCELのコントロールパネルのチェックボックスを押すたび 中の文字が拡大されていくんですけど これって何が原因ですか
>645 は、ー1と1 とか マイナスの値をとる時には使えないからね。
>646 エクセルのコントロールパネルって何?
649 :
名無しさん@そうだ選挙にいこう :2010/02/02(火) 22:02:47
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000,EXCEL2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 IEを操作するプログラムが3個あるのですが 3個のプロクシサーバを経由してアクセスしようと思っています CreateObject("InternetExplorer.application")のプロパティやメソッドを見たのですがそれらしきものが見つけられないでいます 何かいい方法ありましたら 教えていただけないでしょうか よろしくお願い致します
650 :
名無しさん@そうだ選挙にいこう :2010/02/02(火) 22:09:37
質問した
>>641 です。
>>643-645 >>647 の4名さん、回答ありがとうございました。
おかげさまで解決しました。原因は「(AB列の)文字列」だったみたいです。
てっきり、関数が違っていると思い込んでいたので盲点でした。
みなさんの回答に感謝しています。
>>643-644 逐次「" "(カッコ?)付の数字」は面倒なんで、他の分類(標準・数値など)に変更しました。
いただいた回答は盲点でした。
次回、同じような事例にぶちあたったときは、
関数の正誤だけに囚われずに、「セルの書式設定」も確認したいと考えています。
>>645 >>647 レスを読むや否や、思わず「おおっ!」と驚きの声が出てしまいました。
私的には「目からウロコ」です。
いまの私には、関数作成の際、加減乗除を柔軟に使いこなす「応用的・柔軟な発想力」はありません。
この考え方は、目先でなく中長期的な視点で活用できます。
そういう意味で、お二人に感謝したいと思います。
Excel Viewer 2003 がダウンロードできるところってないでしょうか? マイクロソフトでは昨年末に公開をやめてしまったので。 ご存知の方おられましたらよろしくお願いします。
ぐぐってみたら普通にマイクロソフトからダウンロード出来るけど。(SP3ですが)
>>639 Youtubeで「excel gantt chart」を検索してみるといい。
655 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 08:43:07
エクセル2003です 65000行Z列位までのセルに関数を入れまくったファイルが大変重たく 読込むのみ5分以上かかります。セル一つ変更するだけで再計算で五分以上待たされます。 PCのスペックはAMDアスロン64プロセッサー3500+(2.20GHz) メモリは512MBです。 PCをコア2デュオとメモリ4GB程度のものに買換えたら処理速度は速くなるでしょうか。 誰かわかる方教えて欲しいです。
656 :
複乳 :2010/02/03(水) 08:58:22
間違いなく早くなるだろうがそれ以前にシートの構成が悪すぎると思う
657 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 09:01:12
返事ありがとうございます。 予想で結構ですので5分位かかるものが何分位まで速くなるでしょうか? できたら教えて欲しいです。
658 :
複乳 :2010/02/03(水) 09:14:21
かりテキトーだけどE8600でも30秒〜1分ぐらいはかかりそうな感じ 場合によっては2.3秒まで軽減できるかもしれないが、 なんにしろシート構成見直すのが先だろう
659 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 09:20:14
そんなに速くなりますか。やっぱり買換えます シート構成も見直します。でも関数はあまり得意じゃないのすが・・・ 今PCを買換えるとエクセル2007になると思うのですがだいぶ変わってますよね まあ慣れれば大丈夫かな。どうもありがとうございました
660 :
複乳 :2010/02/03(水) 09:36:01
覚えてたらでいいんだけど、どれぐらい変わったか教えてね あとウィルス検地ソフトはエクセル使ってるときだけで切っておいたほうがいいと思う
>>655 どんな式入れてるの?
まさかVLOOKUPじゃないだろうな。
VLOOKUP を多様
663 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 10:16:23
このスレの回答者のようにスキルアップするには どのExcelの本を読めばいいですか?
>655 メニュー→ツール→オプションで、 再計算しない 設定にしておいて、データをひととおり入力 してしまってから [F9]キーで再計算 ってするのがいいのでは?
665 :
複乳 :2010/02/03(水) 10:26:21
666 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 10:31:35
>>660 わかりました。報告しますね。セキュリティソフトをタスクにいれると重くなるんですね。切ってみます
>>661 IF関数が多いです。VLOOKUPっていうのは知りませんがたぶん使ってないと思います
>>664 そういう方法もあるんですね。知りませんでした。やってみます
みなさん色々教えてもらって有難うございます。助かります!
667 :
664 :2010/02/03(水) 10:41:03
>666 ネットにつながってるパソコンだったら、セキュリティソフトを切るのは一番最後の手段にした方がいい。 (仕事用だろうから、何かあったらシャレにならない) 再計算しない状態 だと、画面下左よりの付近に 再計算 って表示される。 [F9]キーを押しても 自動再計算に切り替わる訳ではない([F9]を押す都度再計算する)ので、ご注意を。
再計算が5分もかかるような式を入れてるのがそもそも問題だろうな 式を見直すしかないと思うな。
>>666 Excelの使い方として65000行まで埋めるのが間違ってる
どんなソフトでもスペックの限界付近で常用するのはおすすめできない
2007に乗り換えた方がいいかもしれない
ただ、その環境だと一番の原因は間違いなくメモリ不足
670 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 13:07:59
質問です。 A1から下方向へ、下記を入力したいのですがどうすればいいでしょうか? 1 2 4 5 7 8 10 11 13 14 ・ ・ ・
671 :
複乳 :2010/02/03(水) 13:15:45
>>670 a1=IF(MOD(ROW(),3)<>0,ROW(),"")
下にオートフィル
その列を選択してコピー、右クリックで「形式を選択して貼り付け」の「値」、並び替えかねー
672 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 13:40:03
>>671 ぅゎぁ
ぁりがとぅ
ぃまからゃってみます
別解1 A1に1、A2に2、A3以降 =A1+3 をオートフィル 別解2 A1に1、A3に4、B2に2、B4に5、A1:B4 をオートフィル B列コピー、A列に加算貼付け
674 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 13:42:53
やってみました それだと空白ができてしまうのですが 2と4の間や5と7の間などもくっつけるにはどうすればいいでしょうか?
空白を上に詰めるには A列選択、編集→ジャンプ→セル選択、空白セルにマークしてOK これで空白だけ選択されるから、削除→上シフト 式は、コピー→値貼付けで確定しておくこと。
676 :
複乳 :2010/02/03(水) 13:56:32
677 :
670 :2010/02/03(水) 14:05:21
678 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 14:32:02
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 シート別の同じセルを取り出してグラフを作りたいです ただ、すべての数値をいちいち変えていくのは面倒なので 一箇所指定されたセルを入力するとその後全部自動変更されるようにしたいです 例えば、グラフを作りたいシートのどこかのセルにA2と入力したら シート2!A2、シート3!A2、シート4!A2・・・ A4と入力したら シート2!A4、シート3!A4、シート4!A4・・・ と、このようにしたいのですが こうするにはどうすればいいでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 選択した部分 エクセルのシート内の一部のセルを選択し その「選択した部分」だけを印刷しようとすると 選択した部分が自動的に左上に配置されて印刷されてしまいます。 どうすれば選択した部分をそのままの位置で印刷できるのでしょうか?
680 :
複乳 :2010/02/03(水) 14:48:50
>>678 データを整形するほうが早いかなぁ
>>679 そこ以外のフォントや罫線を白にするしかなさげ
後は余白を使うとか
681 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 16:59:43
以前は先生居たんだがなぁ・・・
683 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 17:58:10
>>680 データの整形ナシでやりたいんです
なんかいい方法はないものでしょうか?
684 :
複乳 :2010/02/03(水) 18:05:13
串刺し計算みたいにできるかと思ったが無理だったなー ファイルをアップロードすればindirectで何とか作ってやらんでもない
>>678 「A2」とか入れるどこかのセルを A1とすると
=INDIRECT("Sheet2!" &A1)、=INDIRECT("Sheet3!" &A1)、=INDIRECT("Sheet4!" &A1) …
と入れておけばいいんじゃね。
>>679 カメラ機能かなぁ。
シートのコピーを作っておいて、選択領域をカメラで撮って
左上角でAltを押しながら貼付け。でシート全体選択削除。
686 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 21:03:35
>>685 できました!
こんな簡単で便利な関数があったんですねぇ
VBAに挑戦してたのですが早速挫折しかけてたのでちょうどよかったです
ありがとうございました
>>683 sheet2が空ならそこに印刷したいシートのセルと同じ位置のセルにコピー&ペースト
でもして空欄のセルと一緒に印刷範囲を設定すれば良くない?
そんな手間のかかることせんでも、単純な数列なんだから数式だけでできるだろ
>>670 =ROW()+INT((ROW()-1)/2)
>687 残念ながら矩形領域は、行列巾がコピーできないんだな。 >688 その方が手間がかからないとは思えないけど。
>679,683 印刷したいセル範囲が固定されていて、セル内容を変えつつ印刷したいっていう状況なら >680さんと>687さんの方法をまとめて 1 印刷したいシートをコピー (コピーしてできたものを「印刷用シート」とする) 2 印刷用シートの印刷したいセルを、元のシートの参照とする 3 印刷用シートの印刷範囲外の文字や罫線の色を白にする(罫線指定を解除すると微妙に位置がずれる) これじゃダメ?
691 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 22:26:39
んー、それも良い方法なのかもしれませんが 今回私がやりたい事から見ると少し手間になってしまうようです ありがとうございました
692 :
名無しさん@そうだ選挙にいこう :2010/02/03(水) 22:42:01
【1 OSの種類 .】 Windows7(x64) 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】excel 。が入力できない 今、急に「。」が入力できなくなってしまいました。全角入力にしても、キーの「.」を押すと、その時だけ半角入力モードになってしまいます。 「,」や「/」は大丈夫で、「.」の時だけです。 他のソフトでは大丈夫なのでExcelの問題だと思うのですが、何かそのような設定があるのでしょうか?
>>692 知らず知らずにフォント設定が変わってたりしませんか?
〉〉692 Excel開いた状態でIMEの詳細設定確認してみた?
695 :
複乳 :2010/02/04(木) 09:05:20
>>692 imeのデフォルト設定で「数字の後は。を.にする」というものがある
後はプロパティの全般の句読点が「、。」になってるか確認
エクセルだけそうなるのはマクロが入ってるか、どこかが英語の設定になってるのか
だと思うが俺にはわかんねーわ
オートコレクトじゃね?
697 :
692 :2010/02/04(木) 11:18:02
>>693 PCを再起動したら治りました。何だったんだろう・・・?
>>693 いえ、少なくともリボンに表示されているフォントは変化していませんでした。
他の全角文字も普通に入力できました。
>>694 >>695 はい、確認しました。「、。」になっていました>句読点
ちなみに、ひらがなの後でも
>>692 の現象は起こりました。
>>696 全部切りました>オートコレクト
現象は変わりませんでした。
一応直ったのですが、どうにも気持ち悪いですねぇ・・・。
698 :
複乳 :2010/02/04(木) 11:35:15
直ったならいいじゃない 明日には忘れてるでしょう
(;゚д゚)ァ
学校で習ったエクセルを数カ月ぶりに実際使ってみたら何も分からなくなってました。 sheetって題名付けられるのでしょうか?
sheetタブをダブルクリックしてみれ。
>>701 出来ました〜!ありがとうございます。
エクセルで表を作るのは、ワードみたいに挿入するのではなくセルに罫線を引いたものが表ということですか?
あと、文字数が多くセルの幅をはみだしていて汚いのですが、これはエクセルに慣れている人なら気になりませんでしょうか。
中央揃えにしていたのを左寄せにしたらはみ出さなくなりました。 でもはみださないセルは中央揃えの方がなんとなく見た目が好き・・・どっちかに統一した方がいいですよね。 すみません。チラ裏過ぎました。
・セルを拡大・縮小する。また、フォントサイズを変更する。 ・隣り合うセルを結合する。 ・文字を折り返す。 などなど、ケースバイケースでどうぞ。
今BCD列に表があるのですが、CDにあるのをDEに移動させて、 BとCを結合したいのですが、コピー&ペーストがうまく出来ません… 質問を一度にまとめず、何度もすみません。
特に他で参照してなければコピー&ペーストでなく、切り取り&貼り付け を行った方が後でBとCを結合するときに都合がいいです。 また、全体的にCDをDEにということであれば、C全体を選択し右クリック 挿入という方法があります。
>>706 ありがとうございます。右クリック挿入、便利ですね!コピーは、突然表の周りがウニョウニョして恐かったです^^;
あまり大きくない表だったので移動させる部分だけやり直してしまいましたが、教えて下さったのを今練習してみました。
簡単ではありますが、お陰さまですっきりとした表が出来ました。ありがとうございました!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 下記のような2列のデータがあるとします。 赤組 A 赤組 B 赤組 C 赤組 D 青組 E 青組 F 黄組 G 白組 H 白組 I これを同じ組のものは同一行に最大3個(3列分)並べてから、 4つ目からは次の行に入るように並べ変えたいです(下図参照) (もし同じ組で10個あれば、3個/3個/3個/1個の4行でという感じです) 赤組 A B C 赤組 D 青組 E F 黄組 G 白組 H I 一つ一つコピペすればできるのですが、件数が500件 と多いため、もし簡単にできる方法があればご教示のほど よろしくお願いいたします。
【1 OSの種類 .】 WindowsXP home、7 ultimate 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル関数の基礎の本を参照、データベース関数で検索 A列に商品番号、B列に商品名、C列に発売元、D列に値段が書いてあるデータシートがあります。 そのシートとは別にデータ入力シートを用意し、そのシートのB列に商品名を入れるセル(商品セルと定義)を用意し、 商品セルに商品名を入れたら自動で右二つのセル(それぞれ発売セル、値段セルと定義)に発売元と値段が入力されるようにできませんか? データベース関数(DGET?)を用いて、商品セルに入力された商品名からデータベースセルの商品番号が検索できるようにし、 そこから発売セルと値段セルにVLOOKUPをぶちこめば出来ると思ったのですが、DGETから商品番号が返せません。 DGET以外に商品セルに入力された文字列をデータベースシートから検索し、行数を返すか商品番号を返す関数はございませんか?
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 例えば、 りんご みかん ナタデココ ってどっかのセルにリスト作って、A1に入力規則のリスト入力指定すると、ドロップダウンリストから選択するかデータを手入力するしかない。 でも、いちいちマウス動かして選択したりデータを手入力するのが面倒だから 1って入力するとりんご、2って入れるとみかん、みたいにリスト内のデータがA1に入るようにししたいんですがでこれって可能ですか?(もちろんドロップダウンリストから選択も可能な状態で) お願いしまっす。
>710 単語登録しといたら?
>708 作ってみた Option Explicit Dim SV_KEY As String, CNT As Integer Dim TATE_I As Long, TATE_O As Long, YOKO_I As Integer, YOKO_O As Integer Sub EX_708() TATE_I = 5: YOKO_I = 3: TATE_O = 1: YOKO_O = 6 SV_KEY = Cells(TATE_I, YOKO_I).Value CNT = 1 Do Do If CNT = 1 Then Cells(TATE_O, YOKO_O).Value = SV_KEY End If Cells(TATE_O, YOKO_O + CNT).Value = Cells(TATE_I, YOKO_I + 1).Value TATE_I = TATE_I + 1: CNT = CNT + 1 Loop Until ((Cells(TATE_I, YOKO_I).Value <> SV_KEY) Or (CNT > 3)) SV_KEY = Cells(TATE_I, YOKO_I).Value: TATE_O = TATE_O + 1: CNT = 1 Loop Until (Cells(TATE_I, YOKO_I).Value = "") End Sub TATE_I YOKO_I は元データの最初の位置(上記例ではC5セルを指定) TATE_O YOKO_O は出力先の位置(上記例ではF1セルを指定)
713 :
複乳 :2010/02/05(金) 09:15:19
>>708 c1=COUNTIF(A1:$A$1,A1)
c列をオートフイル
d1=b1
d2=IF(MOD(C2,3)=1,B2,IF((C2=C1+1),D1&B2,B2))
D2を下にオートフイル
>>709 vlookupやmatchindexではダメかな
>>710 1 りんご
2 みかん
3 ナタデココ
と2列に作ってC1辺りでvlookupとか
714 :
名無しさん@そうだ選挙にいこう :2010/02/05(金) 15:11:52
セルに「-(マイナス)」を使う数字を入力するとうまくいきません。 どうやったら出来るでしょうか><
715 :
複乳 :2010/02/05(金) 15:14:29
>>714 何か゛うまくいきません。 なのか
何をどうしたいのか
2-5が2月5日になねとかなら'2-5や書式設定で文字列
716 :
名無しさん@そうだ選挙にいこう :2010/02/05(金) 15:40:03
>>715 アホ丸出しですみません。
金額を入力したくて「-2,100円」と入力したらウィンドーが出てきてよくわからない文字列になってしまいました。
717 :
名無しさん@そうだ選挙にいこう :2010/02/05(金) 16:10:17
ちんこ丸出しですみません。 いますぐパンティをはいてきます。
| │ 〈 ! | |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ /⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ ! !! ! ハ!| ー─ ' i ! `' '' " ||ヽ l |
719 :
複乳 :2010/02/05(金) 16:31:29
>>716 書式設定で「通貨」入力は「2100」とするんだよ
そうすれば自動的に「-2,100円」と表示される
どうしてもその入力がいいなら「'-2,100円」と入力すればエラー回避できるがオススメしない
>720 照合の型 =INDEX(A6:B10,MATCH($B$2,$B$6:$B$10,0),1)
>>721 ありがとうございます!無事にできました!
職場のNASに、 1000以上のエクセルファイルが保存してあって、 で、紙に打ち出したエクセルの表があって、 NASのなかの、ファイルの中のどれかなんだけど、どれかわからない。 って時に、紙の表の中の文字列から、どのファイルか検索してくれる ような便利なソフトもしくはマクロはないでしょうか。
>>723 Excelファイルの中身ならWindowsに標準で付いている検索機能で検索できる
「ファイルまたはフォルダの名前」を「*.xls」にして「含まれる文字列」のところにお望みのキーワードを入れるだけ
エクセルで印刷するときはヘッダーにファイル名とシート名出すといいよ ついでに日時も
726 :
名無しさん@そうだ選挙にいこう :2010/02/05(金) 22:05:57
どうやってだすんですか?
727 :
651 :2010/02/05(金) 22:36:57
>>652-653 レスありがとうございます。
お教えいただいたのはSPのみで、単体動作しないのですが....
現在公開されているExcel Viewerだと、縮小表示ができないみたいなんで。
なのでExcel Viewer 2003を探しています。
729 :
723 :2010/02/06(土) 02:51:12
>>724 おお〜。できました。ありがとうございます。
>>725 そうなんですよねぇ・・。
これまた、多量にあるファイルのヘッダーを自動で書き換えができるといいんですが。
730 :
723 :2010/02/06(土) 03:55:33
ファイルヘッダーの変更はマクロでできそうですね。
731 :
名無しさん@そうだ選挙にいこう :2010/02/06(土) 04:22:26
かかか A 1998 あああ/いいい B 1980 さささ C 1990 ままま D 1999 ははは/わわわ E 1999 おおお F 1999 … これを かかか A 1998 あああ B 1980 さささ C 1990 ままま D 1999 ははは E 1999 おおお F 1999 いいい B 1980 わわわ E 1999 … VBAを使って 上記みたいに/の部分を分割して一番下の次の行に順治書き出したいのですが、 方法とかありますでしょうか?
テキストエディタか何かで /→\t に置換して抽出していった方が早いような
>>731 「/を含む」でフィルタかけて結果をどこか別のシートにコピー
元のシートは「/*」を「」に置換
別シートでは「*/」を「」に置換したあと元のシートにコピー
>731 Sub macro() Dim myArray() As Variant Dim buf As Variant Dim i As Long, j As Long Range("A1").Select myArray = Range(Selection, Selection.End(xlDown)) Selection.End(xlDown).Offset(1, 0).Select For i = 1 To UBound(myArray) buf = Split(myArray(i, 1), "/") For j = 0 To UBound(buf) Selection.Offset(0, j).Value = buf(j) Next j Selection.Offset(1, 0).Select Next i End Sub
735 :
734 :2010/02/06(土) 10:39:06
>/の部分を分割して一番下の次の行に順治書き出したいのですが ここしか考えてなかった(汗 忘れてくれw
>731 Sub hoge() LstRow = Range("a65536").End(xlUp).Row For i = 1 To LstRow n = InStr(Cells(i, 1), "/") If n > 0 Then LstRow = LstRow + 1 Cells(LstRow + 1, 1) = Mid(Cells(i, 1), n + 1) Cells(i, 1) = Left(Cells(i, 1), n - 1) & Right(Cells(i, 1), 7) End If Next End Sub
737 :
651 :2010/02/06(土) 14:35:18
>>728 だからこのバージョンは....
つか、このExcel Viewerってズーム(縮小)表示できるんですか?
あー、だめみたいだ。 あらかじめexcel viewer 2003が入ってないとだめみたいだ。 すまん、いらぬ情報だった。
>737 >728のリンク先からダウンロードしたExcel Viewerで拡大・縮小表示できましたよ。 画面右下に表示倍率を操作するものがでます。(OpenOffice.orgみたいな感じ)
みんな親切なんだね。 おら、>737 にカチンときただ。
>>742 お前が上から目線過ぎなんじゃないの?
知ってること自慢げに書き込みできるだけで満足だろうが。
>743 いや、みんな親切に答えているのに >737は無いだろ といってるだけで おらが上から目線とか関係ないよ
>>742 俺はうろ覚えの知ったかの742野郎にカチンと来たけどね。
651が「マイクロソフトでは昨年末に公開をやめてしまったので。」って書いてるのに、
それを確かめずに嘘情報を垂れ流すからね。
746 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 00:13:51
いぢわるして、 1 2 4 の3つを選択してオートフィルしたら 1 2 4 5.333333333 6.833333333 8.333333333 9.833333333 になったけど、これはどういう計算をしてるの?
=TREND(A1:A3,{1;2;3},4) だな
748 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 00:27:21
オートフィルで、n^2ってできないですか?つまり、 1 4 9 16 25 36 49 ・ ・ ・ みたいな。
749 :
746 :2010/02/07(日) 00:28:14
>>747 それはなんの呪文ですか?
詳しく教えてくれますか?
750 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 00:29:47
>>746 は
1
2
4
7
□
16
のようにできませんか?ちなみに□は何が入るか分かりますか?
>>749 f(1)=1,f(2)=2,f(3)=4 に近似した1次関数を計算してそこからf(4)以降を求めている
752 :
749 :2010/02/07(日) 00:43:41
>>750 A1=1
A2=A1+ROW()-1
A2以下オートフィル
755 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 01:05:27
>>753 なるほど、ありがとう。さっそくやったらできました。
ROWという関数はカッコの中を空欄で使うんですか。
でも1つ質問。
下のほうの行から開始した場合はどうすればいいんですか?
=ROW(-10)^2
みたいにやってもだめでした。行の番号から10を引いた数の二乗のつもりでしたが。
756 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 01:06:11
>>754 なるへそ、ここでもROW関数を使うんですね。便利ですね。ちなみに行はLINE()でしょうかね。便利ですね。
>>755 >>756 Excelの画面でワークシートの左端にセルの番号が上から順に書いてあるでしょ。
ROW()はその数字をそのまま取り出せる関数だよ。
>>757 行はROW
COLUMNは列、ただしcolumnを直訳すると桁だけど
ああつられたスマンもうだめだー
761 :
質問人 :2010/02/07(日) 01:34:18
762 :
質問人 :2010/02/07(日) 01:37:09
寝ますね
数式内の参照元セルの部分を参照元の文字列に一括で置き換える方法はありますか? A列はハイパーリンクでB列(名前)とC列(URL)を参照していますがB,C列を削除したいので文字列に置き換えたいのです。
>>763 セルの中身を書き換えるのはVBA使わないと無理
765 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 09:54:15
ものすごく初歩的な質問で申し訳ないのですが・・・ 宛名ラベルを作るのに差し込むエクセルのファイルのことです。 郵便番号をハイフン入りの7桁にするために、TEXT関数を使って 差込用の列を作りたいのです。 元の郵便番号の列は郵便番号ウィザードで出力したものです。 差込用の列の最初のセルに=TEXT(E50,"000-0000")等の関数を入れ、 それを下に形式をコピーして関数が入った列を作りました。 その後・・・この列にはどのようにすれば関数が生きた数値が入るのでしょうか? データが多いので元の郵便番号の列の数値をそのままコピーしようと思ったら 上書きされてしまって関数が消えてしまいます。 郵便番号ウィザードで出力しようとしても出力できません。 ものすごく基本的なことで申し訳ないのですが、どなたかご助言頂けると 助かります。よろしくお願い致します。
>それを下に形式をコピーして関数が入った列を作りました。 形式だけじゃなくて ふつうにコピーすればいいんじゃないかな
767 :
765 :2010/02/07(日) 10:10:48
>>766 様
ありがとうございます。
ふつうにもコピーしてみたんですが・・・うまくいきませんでした。
A1に1234567が入力されている状態で B1に=TEXT(A1,"000-0000")が入力されていれば B1には123-4567と表示されるはず うまくいかないというのは、そうならないということかな?
あー もしかすると差し込み印刷の元データにするには、表示形式を 変えただけではだめなのかもしれん =LEFT(A1,3)&"-"&RIGHT(A1,4) これならだいじょうぶだろう
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 エクセル 抽出 シート1 シート2 A B A B 1 2月1日 0 1 2月2日 10 2 2月2日 10 2 2月4日 30 3 2月3日 0 3 2月5日 10 4 2月4日 30 4 2月7日 20 5 2月5日 10 5 6 2月6日 0 6 7 2月7日 20 7 シート1のデータをシート2のように、0以外のデータを取り出して貼付けたいのですが、 どの関数使えばいいのでしょうか?宜しくお願いします。
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 エクセル 抽出 シート1 A B 1 2月1日 0 2 2月2日 10 3 2月3日 0 4 2月4日 30 5 2月5日 10 6 2月6日 0 7 2月7日 20 シート2 A B 1 2月2日 10 2 2月4日 30 3 2月5日 10 4 2月7日 20 5 6 7 シート1のデータをシート2のように、0以外のデータを取り出して貼付けたいのですが、 どの関数使えばいいのでしょうか?宜しくお願いします。
>>763 ハイパーリンクがハイパーリンクの昨日なのかhyperlimnk関数かにもよるが、
D列に新しく作りなおす方が早いかも
表がどうなっているか詳しく教えてくれたら何とかします
>>770-771 2通り
関数が良いなら
D3=IF($C3=0,"",A3)
でD-F列、下にオートフィル。コピーして値で貼付け。D列で並べ替え
もしくはオートフィルタを設定、C列で「0以外」とする
773 :
765 :2010/02/07(日) 11:31:40
>>768 様
そうなんです。郵便番号ウィザードで出したものはデータの状態は1234567、
但し表示形式はハイフンつきです。
それをとなりの列にコピーして、関数を入れようとしても、上書きされてしまう・・・
(000)となります。
たぶん、ものすっごい初歩的なことなんだと思うんですが〜
>>769 様
ありがとうございます。やってみますね!
>>771 シート2に
↓日付抽出
=IF(COUNTIF(Sheet1!$B$1:$B$100,">0")>=ROW(A1),INDEX(Sheet1!A:A,INDEX(SMALL((Sheet1!$B$1:$B$100>0)*ROW($A$1:$A$100),SUM(COUNTIF(Sheet1!$B$1:$B$100,{0,""}))+ROW(A1)),)),"")
↓数字抽出
=IF(COUNTIF(Sheet1!$B$1:$B$100,">0")>=ROW(A1),INDEX(Sheet1!B:B,INDEX(SMALL((Sheet1!$B$1:$B$100>0)*ROW($A$1:$A$100),SUM(COUNTIF(Sheet1!$B$1:$B$100,{0,""}))+ROW(A1)),)),"")
あんまり実用的じゃないけどね
775 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 12:32:08
セルに「1/2」と表示したいのですがEnterを押すと1月2日となります。 たぶんどこか設定を直せばいいんだと思い、セルの書式設定で分類を「標準」になおしたら40180になりやがった。 どうやったら1/2にできますか? この際これに関連した入力のシステムについて簡単に教えていただけませんでしょうか?
776 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 12:35:03
1/1なら40179、 2/1なら40210となるし、 もうめちゃくちゃw この5けたの数字はどこからくるのか非常に興味もあります。 どういう計算してるの?
>>776 シリアル値
いったん、2010年1月1日と認識してるので、その後表示形式を標準にするとそういう数字が出てくるよ。
1/2と表示したいなら 、あらかじめ表示形式を文字列にしておくべし。
分数として表示したいなら表示形式は標準や文字列ではなく分数で。
779 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 12:48:23
>>777 ありがとう
書式であらかじめ空欄の部分を文字列にしてから1/2にするとそのまま無事に表示されました
ところで、シリアル値って?
780 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 12:52:46
>>778 うぉ、こんどは右端に表示されました。このほうが都合がいい。ありがとう。
ところで、4/3のように仮分数にするにはどうしたらいいですか?
このな数だと、1 1/3のようになるんです。
>>780 エクセルは分数表示が得意ではないから、あまり使わない方がいいよ。
>仮分数にするには
たしか出来ないと思う
>>780 書式定義→ユーザー定義→?/? で入力すると4/3で表示します。
783 :
782 :2010/02/07(日) 13:00:35
×書式定義→○書式設定でしたね。失礼。
784 :
780 :2010/02/07(日) 13:12:15
785 :
Smith :2010/02/07(日) 13:41:36
ものすごく説明しづらいんですが…。 例えばスーパーの商品ごと売上表。A列に商品コード、B列に売上額という表が毎月ありますが、月ごとに全く売れなかった商品コードは記載されません。したがって、毎月の商品コード順別売上高が、月によって長さも出現頻度も異なります。 そういう場合、商品コード順に毎月の売上高を年間トータルするには?
786 :
初心者 :2010/02/07(日) 13:54:49
セルに入力する数値の分類で「数値」と「通貨」と「会計」はほぼ同じと思っていいですか? だって、「\や$記号をのせるときは「数値」はできない」、「桁区切りの,を使いたくないときは「数値」しかだめ」以外、全く差は感じないのですが。 普通に数字を入力したままではここは「標準」のままになってますが、みなさんはふだん数字にデフォルトではどれを使ってますか? (a) 標準 (b) 数値 (c) 通貨 (d) 会計
>>785 ひとつのシートに縦に並べてピボットテーブル
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 色をつける excel 一致 全てのセルには文字列が入っています。 このとき、一つ上のセルと内容が一致する場合に 色を付けたいのですが、自動化するには どうすればいいでしょうか? 単に50音で並んでいるものの重複を検出したいだけなので、 色を付ける以外でもどこが重複しているかが分かれば大丈夫です。 どうかよろしくお願いします。
>>786 名前のまま、必要に応じて使い分けてる
数値に小数点を設定するのが一番多いかねえ
>>788 重複を消したいだけならデータ、フィルタオプションの設定 で重複するレコード〜にチェック
>788 例えばA2に条件付書式を設定する。 条件1:セルの値が、次の値に等しい、="" 書式は、色なし 条件2:セルの値が、次の値に等しい、=A1 書式は、好きなパターンで これをコピーして、設定したい領域に、書式貼付け 空白セルに色付けしてもいいのなら、条件1は要らない。
>>792 ありがとうございます。
早速やってみます!
>>792 できました!
ありがとうございました。
>>791 例えばA列の文字列で一つ上のセルとの重複に対して色付けを行う場合、
A2へjpgファイルの書式:セルの値が・次の値に等しい・=A1とし、
下にあるボタン書式→パターンでお好みの色を設定しOKボタンクリック。
796 :
786 :2010/02/07(日) 14:42:45
>>790 アドバイスありがとうございます。数値が多いんですね。
797 :
初心者 :2010/02/07(日) 14:47:33
これから仕事で使うのでいろいろexcelで実験してるんですが たくさんあるセルで、どこかのセルに書式を設定すると当然その設定が今後ずっと記録されてるじゃないですか? ここで困ることが一点。 例えば、あるセルに書式が設定されてるのを知らずに小数点を含む数字を入力して、実はそこには小数点は切り捨ての書式が設定されていれば、 その数値の小数点以下は表示されていませんよね? (例えるなら地雷を踏むようなもの) そこで、書式が初期のデフォルトじゃないもの、つまりこちらで書式を設定したセルだけを 一時的に(例えば色で浮き上がらせるみたいな方法で)明示させることは可能ですか?
書式設定するときにセルの色を変えたらいいね おれは昔から「数式を入力したセル」「数値を入力するセル」は色をつけて 区別することにしてる
799 :
797 :2010/02/07(日) 15:02:40
>>798 そんな手間をかけてるんですかぁ。奥が深いですね。
800 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 15:04:14
じゃあ例えば既存のシートがあって、 それはどこに書式設定したかぐちゃぐちゃ。 そんなとき例えば検索して普通じゃない書式設定のセルだけ浮き上がらせることは 不可能ということでファイナルアンサーでしょうか?
801 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 15:05:40
>>799 「数式を入力したセル」「数値を入力するセル」
であれば、CTRL+Gで判別できるけど
標準の検索だと、任意の書式を設定したセルを検索することなら可能 書式が何種類もあるならその数だけ検索かける必要がある VBAならいっぺんにできる
>>797 ctrl+aで全体選択して書式設定とか「←0.00」みたなボタンおすとか
もしくは通貨設定にしているセルで小数点だけには気を付けたい場合「\G/標準」というユーザー設定してみるとか
804 :
771 :2010/02/07(日) 15:39:01
>>772 様
ありがとうございました。なんとかできました。
>>774 様
ありがとうございました。私には高度すぎてむりでした。
>>764 こう言うのもなんですがVBAわかりません><
>>772 ハイパーリンク関数です。
ありがとうございました、逝ってきます。
>>805 D1="=hyperlink("""&B1&""","""&C1&""")"
下にオートフィル
D列コピー、Eに形式を選択して貼付けの「値」
E1を選択してF2押してenter、F2押してenter・・を繰り返すとか
>>806 できました
F2えんたー連打してきます。
808 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 19:24:03
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 「エクセル 関数 演算結果 数値 領域 行番号 指定」 「演算結果の数値を行番号に指定したい」など 領域指定を必要とする関数(SUM,INDEX,MAX,MIN,COUNTなど多数)で、 別セルで演算結果で求めた数値をセルの行番号に指定したいのですが、 解決方法がいまだに見つかりません。 つまり、どの関数でも必要とされるセルを指定する時に、 行番号をあらかじめ「A1」「A1:A10」などと特定するのではなく、 例えば、セル指定や領域指定を「Axx」や「Axx:Ayy」のようにして、 xx、yyに入る数値を別セルで計算して求められた数値xx,yyから、 必要とする領域の行番号に指定して参照できる関数を組み立てたいのです。 今までエクセル関数はネット検索していろいろ解決したけど、 こんな素朴な疑問がまだ解決できず、時間の浪費が続いて本当に困っています。 どなたか教えていただけますでしょうか?
INDEX、OFFSET
810 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 19:38:12
811 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 21:13:41
>>809 >>810 早速、回答ありがとうございました!
おかげさまで解決のヒントになりました。
OFFSET,INDIRECTは恥ずかしながら、初めて知りました。
今後の対策に参考にさせていただきます。
今回、可変セル領域の最大値、最小値を求める数式を構築したかったのですが、
このような数式でなんとか解決できました。
=MAX((INDEX(A1:A500,B1)):(INDEX(A1:A500,B2)))
=MIN((INDEX(A1:A500,B1)):(INDEX(A1:A500,B2)))
B1,B2で演算結果の数値を求めて、領域の参照範囲を可変させるという方法にしました。
いやはや、考え方でなんとかなるものなんですね。(^^;
812 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 22:19:30
A B 1 5 2 3 7 8 4 … のような並びのデータをまとめて 1 2 3 4 5 7 8 … みたいに一列にまとめたいのですが うまい方法とかありますでしょうか? 行にして1000ぐらいあるのですが VBAでもかまいません
>>812 それは、1つのセルにスペースで区切られた数字がいくつも入っているの?
814 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 22:33:47
>>812 列ごとに、CTRL+Gで「セル選択」で「定数」をチェックして、コピペ。
空白セルをよけてくれる。
それと同じ考えのマクロ。C列までをE列にまとめてる。
Sub test()
Dim c As Range
For Each c In Columns("a:c")
c.SpecialCells(xlCellTypeConstants).Copy Destination:=Cells(Rows.Count, 5).End(xlUp)
Next c
End Sub
>>812 2.3列ならおーとふぃるたーで空白以外にしてコピーが早いと思う
816 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 22:39:27
CTRL+Gというのがジャンプだと分かったのですが これはなんの法則をもとにどこにジャンプしてるんですか?
817 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 22:55:28
>>816 参照先に=A1などといれればA1にジャンプ
セル選択を押して定数や空白だと、定数や空白全てを選択できる
知ってるととんでもなく便利な場合がある
819 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 23:40:07
>>818 それは便利ですね。ありがとうございました。
820 :
名無しさん@そうだ選挙にいこう :2010/02/07(日) 23:43:44
>>814 ありがとうございます
それで大丈夫です
すいませんもう一つついでに教えてほしいのですが
そのやり方で812の応用でF15、F21、F43を選択してコピーしてるときに
それぞれ同じ行の
B15、B21、B43
D15、D21、D43
も同時に選択してコピペして
まとめてデータがある最下行の次の行ににペーストしたいのですが
どうしてもうまくいきません
教えてください
>>820 コピペってのは「コピー&ペースト」の略、つまり、まずコピーして、次にペーストする(した)って意味
だから、それだと選択→コピー→選択→コピー→ペースト→ペーストしたことになってしまう
文章の意味が通らなくなってる
もうちょっと手順をしっかり正確に書いて
822 :
名無しさん@そうだ選挙にいこう :2010/02/08(月) 00:26:36
>>821 ごめんなさい
812の応用でF15、F21、F43を選択してる状態で
それぞれ同じ行の
B15、B21、B43
D15、D21、D43
も選択して、まとめてコピーして
コピーされたデータを
最下行の次の行ににペーストしたいのですが
>>822 コピペした時、すべての空白セルが詰まってデータが一カ所に集まってしまうのは仕様
すいません、今手元になくて確認できないのですが エクセルのBINOMDISTで指定する試行回数は上限などあるのでしょうか? openofficeでは1000000回とかやろうとするとエラーが出てしまうようで・・・
エクセルが手元になくてもネット環境はあるんだからぐぐればいいと思うよ
ごめんなさい、たった今見つかりました。 どうもバージョンによって違うっぽい? 所詮openofficeじゃたかが知れてるという事ですねぇ
駅の案内所でホテルの場所を聞いたら あそこに交番があるから、そこで聞けばいいと思うよ と言われたような気分です。
(;゚д゚)ァ
829 :
名無しさん@そうだ選挙にいこう :2010/02/08(月) 14:13:12
同じセル内にある指定の一文字が二つだけあって その間に挟まっている文字列の色を全て赤にしたいのですが どうすればいいのでしょうか?
830 :
複乳 :2010/02/08(月) 14:55:24
831 :
名無しさん@そうだ選挙にいこう :2010/02/08(月) 14:59:17
EXCEL2003、XPsp2で、VBAを使わずに、 下記ができる方法があれば教えて下さい。 セルA1に入っている数値を使って、 別のセル参照の位置(相対位置)を変える。 例、セルA1に0が入っていれば、セルB1を参照、 1が入っていれば、セルB2を参照、 9が入っていれば、セルB10を参照。 宜しくお願いします。
832 :
複乳 :2010/02/08(月) 15:03:13
>>831 =INDIRECT("b"&A1+1)
indexでもできると思う。こっちは自分で調べてー
833 :
名無しさん@そうだ選挙にいこう :2010/02/08(月) 15:09:47
>>830 いろいろやっていたのですが
どうしてもわからないので教えてください
そもそも特定の文字に挟まっている文字をどうやって割り出すとか
834 :
複乳 :2010/02/08(月) 15:25:52
>>833 マクロの記録
まぁそれで出来なさそうだから例
A1に目的の文字列を入力。とりあえず「sassds」とでも入れる。
開始はa、終了はdとする。
でb1せるc1せるで文字の開始位置、終了位置を出す
b1=FIND("a",A1)
c1=FIND("d",A1)
で、マクロ
Sub Macro1()
Range("A1").Select
ActiveCell.Characters(Start:=(Cells(1, 2) + 1), Length:=(Cells(1, 3) - Cells(1, 2) - 1)).Font.ColorIndex = 3
End Sub
B1C1も関数いれずにマクロに組み込んだほうが良いんだろうけど、
めんどくさいんだよねぇ
>829 Sub hoge() SpcChr = "д" '特定の文字 Set TgtCel = Range("A1") '対象のセル BgnNum = InStr(TgtCel, SpcChr) + 1 LenNum = InStr(BgnNum, TgtCel, SpcChr) - BgnNum TgtCel.Characters(Start:=BgnNum, Length:=LenNum).Font.ColorIndex = 3 End Sub
特定の文字が2つ並んでいたら、Length が0になって、 文字列の最後まで色がついてしまうな。 最後の1行を↓に訂正 If LenNum > 0 then TgtCel.Char…略 End if
837 :
831 :2010/02/08(月) 16:10:29
838 :
名無しさん@そうだ選挙にいこう :2010/02/08(月) 16:28:20
amazonのアソシエイト?みたいに A1に映画のタイトルをいれると B1に自動的にそのDVDの画像が出てきてリンクを押すとAmazonに飛ぶ こういうのって技術的にできるのでしょうか?
839 :
692 :2010/02/08(月) 17:31:55
また
>>692 の現象が起きました。一体なんなんだろう?
>>697 はすべて再チェックしました。特に問題ありません。
心当たりといえば、旧Excelのショートカットを結構つかったりすることくらいなのですが・・・。
何かご存知の方はいらっしゃいませんか?
普通に入力し続けた後に「.」を押すとそこから半角英数字入力モードになってしまうので、変換ができず非常に不便です。
いろいろ切り分けて試してみないと なんともいえないな。 とりあえずキーボードを替えてみるとか
キーの下に何かはさまってるとか 猫の爪 猫砂の粒 猫のヒゲ ホチキスの針 シャーペンの芯
もうちょっと待って・・・ください(懇願するような上目づかいで)
(???)
あ、間違えた
>>838 webブラウザコントロールがあればいけるか、無くてもAPI呼び出しまくればいけるのかな
プログラム板のvbaスレいくと良いかもしれない。
あとできたとしてもあまりオススメできない
firefoxのアドインでも作る方がよっぽど早いと思う・・
技術的にできるのでしょうか? って質問だから、 うん、できるよ、たいがいの事は、できる。 これでいいんじゃない?
そうだな
847 :
710 :2010/02/08(月) 21:46:06
>>713 それってC1に表示になる&検索値がA1だと1,2,3入力が出来ないような
そもそもExcel的に不可能なのか・・・
>>847 んなもんテキトーに変えろよめんどくせーな
vbaなら「Worksheet_SelectionChange target」辺りで検索しとけ
こいつ・・・ツンデレか!
(´ω`)
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 勤務表 グラフ excelで関数を使った勤務表を作りたいと思っています。 1セルを15分刻みにカラーで右横に表示させて日勤用、夜勤用の勤務時間表示グラフを作りたいです。 ------------------ 開始 終了 8:00 20:00 →15分刻みでセルを塗りつぶす ------------------ 例えば 8時から20時までの勤務だと業務開始時間と業務終了時間を入れると 自動的に48個のセルの色が変わるとかってできますか? もし22時開始で2時30分で終わると18個のセルの色が変わることになります。 よろしくお願いします。
>>851 できる
1番目のセルは、開始時刻が8:00以前、終了時刻が8:15以後
2番目のセルは、開始時刻が8:15以前、終了時刻が8:30以後
のように15分ずつ判定条件をずらしていって、条件に合えば塗りつぶす、という「条件付き書式」を設定すればいい。
セルのサイズぴったりになるようにフォントサイズを調整して「■」を表示させるという手もある。
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 可 A列 B列 ・・・ 1001 マンゴー 酸っぱい 1002 キウイ 酸っぱい 1003 ズワイガニ 美味しい 1004 リンゴ 甘い という感じのリストがあるのですが、 A列と同名の列(順不同、重複番号有り)が存在する別シートのリスト横へ 番号が対応しているもののみ、B列以降の列ごと引用したいと思っています。 何分セル数が万単位と多いので効率の良いやり方がありましたら教えて頂きたいです。 分かりづらい説明ですいませんがよろしくお願いします。
>>854 元がsheet1、移動先がsheet2とすると
B1=VLOOKUP(A1,Sheet1!A:C,2,0)
C1=VLOOKUP(A1,Sheet1!A:C,3,0)
でいいんでねーかの
856 :
851 :2010/02/08(月) 23:28:45
>>852 さん
>>853 さん
できました!ありがとうございます!しかしひとつわからないのが
24時以降?表示されないのは何か設定を変えないといけないのでしょうか
23時〜1時にすると何も表示されません…
すみませんが教えて頂けますでしょうか
ああ、下にオートフィルして、必要なら全体をコピーして値で貼り付けするといいかもしれない
>>856 午前0時を過ぎても前日の続きとして計算するには、数式にもう一工夫必要になります。
1日の区切りは午前何時ですか?
859 :
851 :2010/02/08(月) 23:39:15
>>859 0時が区切りということは、23時〜1時までのグラフは、1日目23時〜24時と
2日目0時〜1時の2行に分かれるということですか?
その場合、塗りつぶすセルの場所はどうなりますか?
まずは完成形をイメージした、手作業で降りつぶした表をどこかにアップしてください。
862 :
854 :2010/02/08(月) 23:55:51
>>855 今試してみたのですが、完璧すぎて感動しました・・・。
まさにこれがやりたかったです。
本当に助かりました。ありがとうございます!!
863 :
851 :2010/02/08(月) 23:59:31
>>860 これです!!!!!!!!これって最初のxlsがこれで
=AND(CB1>=$A$2,CB1<=$B$2)
次がこれって事は
=AND(BV$1>=$A2,BV$1<=$B2)
つまり24時過ぎる場合は$の後ろに1つけるって事なんですか?
よくわからないので勉強します><
本当にありがとうございますm(__)m
>>861 すみませんせっかくレス頂いたのですが
>>860 さん に教えて頂きひとまずできました><
ありがとうございました。
>>863 いやまぁ、上の8:0は実は1900/1/0 8:0なのよ。日付を入れないと1900/1/0になるわけだな
で、基準時間に+1すると1900/1/1になる。翌日に名ルわけだな
シリアル値 なんかでぐぐれば応用できるようになるかもしらん
>つまり24時過ぎる場合は$の後ろに1つけるって事なんですか?
は全然違うんだぜ。これはタン名ね相対参照と絶対参照だ
むしろこっちの方を知っておいた方がいいと思う
866 :
851 :2010/02/09(火) 00:26:18
>>864 >基準時間に+1すると1900/1/1になる。
これ今理解しました><
別のセルで何回やっても出来なかったです
そういうことなんですね…
ひとまず相対参照と絶対参照を勉強します!
本当にありがとうございます!
オートシェイプに関する質問です。 ある図形Aを描きます。 図形Aの上に、オートシェイプの○を書きます。 そうすると、○の下にある図形Aにはクリックしようにも選べません。 クリックすると○が選択されます。 ○を選択されないようにするにはどうすればいいですか? やりたいことは、○の下の図形を少し動かして微調整したいのです。 よろしくお願い致します。
マスターシートとマスタシート、どっちの呼び方が一般的ですか?
>>867 ちょっとやってみたんだがオートシェイプの○が選択されている時にTabキー
押してみたら下の図形に選択が移ったから試してみては?
>>868 そうだなぁ〜、ぐぐってみていちばんヒットした件数の多い方が一般的でしょ。
俺は興味ないからやらないけど。
>868 技術系や公文書系は、マスタシート 国語審議会とかmsとか最近は、マスターシート が一般的になりつつあるらしい。 私はマスタシート派 メーンとか見ると殴りたくなる。 おまえは千葉県知事かと。
872 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 12:06:13
くだらない質問かもしれませんが VBAってVisualBasicをインストールしていないパソコンでも使えまてるんすか? 自分のパソコンはたまたま昔VisualBasicをインストールしたので、そうじゃない普通のパソコンでもそのツールを使用できる仕様になってるのかとふと思って。
873 :
複乳 :2010/02/09(火) 12:08:01
>>872 エクセルさえ入ってれば使えると思う
エクセル起動してalt+F11押せばvbaの画面になるはず
874 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 12:30:52
>>873 くだらん質問の回答ありがとです 涙がちょちょぎれます
875 :
初心者 :2010/02/09(火) 12:50:10
名前をあいうえお順に並べたいんですが、全部漢字のため間違って並べられます。 こういう問題の一般的な対策はみんなどうしてますか? たぶん標準的解決方法が確立してそうですけど。
完全な解決方法は、正しい読みを入力する。 間違った読みが付けられる可能性があるが、以下のマクロを実行して並べ替える。 Sub YomiganaWoTukeru() ActiveSheet.UsedRange.SetPhonetic End Sub
877 :
初心者 :2010/02/09(火) 13:35:42
>>876 ありがとうございます。
よく使いそうな機能だと思ったのにわざわざ入力するしかないのですか。
マクロはさっぱりわかりません。
879 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 15:09:06
四捨五入関数ROUNDって、セル書式設定で「小数点以下の桁数」を設定しとけばいらなくね?
880 :
複乳 :2010/02/09(火) 15:17:52
>>879 小数点以上にも設定できるよ。
=round(1250,-3)→1300とか
他にもまぁ色々あるけど、一緒の機能だからと言って片方を削ると古いフアイルとの互換性がなくなるので
なかなか削れない
881 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 15:24:29
>>880 どもぅ(^_~)/
なるほど互換性の理由でしたか
>879 それは四捨五入して表示されるだけで 実際には元の数値のまま。 表示桁数で計算するオプションをチェックしないと 計算が狂うので注意。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel2007 等高線 凡例 目盛の変更 今等高線(上から見た図)をexcel2007で作っているのですが、5つくらいのデータをまとめる時、すべて同じ色で統一しようと思ったのですが、 同じシート内にデータを張っても凡例の項目数が違って数値によって色の統一ができません。 googleで調べたところ、凡例の書式設定の欄に目盛があって、目盛を変えられると書いてありますが、「凡例のオプション・塗りつぶし・枠線の色・枠線のスタイル・影」の5つの欄しかありません。 excel2007では凡例の項目の目盛を変えられないのでしょうか。
884 :
初心者 :2010/02/09(火) 15:58:47
複乳さんのようにExcelに詳しくなるには、との本を読めばいいですか? まずは初心者レベル、つぎに中級レベル、そして上級レベル、と3冊くらい紹介していただけますか? あるいはレベル別の3冊ではなくて、もっと効率の良いオススメの勉強方法があればそっちでも助かります。
>>884 アマゾンの本コーナーで「Excel」と入力して売れ筋をチェックするんだ
887 :
884 :2010/02/09(火) 16:12:22
>>885 半年も待てませぇん。4月から就職なんですぅ。
>>886 そりゃそれも一案だけど、達人レベルの人のアドバイスが欲しいわけで。本の名をピンポイントで。
888 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 16:14:06
氏名が漢字で一列にたくさん並んでいます。 それ「ひらがな」でとなりの列に表示されるにはどうすればいいでしょう? もちろん全部がちゃん想定した「ひらがな」になるとは思ってないので、それは手入力で修正するとして。
889 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 16:50:58
緊急事態です。 コピペ作業してて、いまコピーしてるものじゃなくて、ひとつ前のコピーしてたデータが必要になりました。 これはどうにかして読み込めますか? 複雑なデータなので、すごく必要なんです。
890 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 17:00:08
作業ウインドウのクリップボード?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 簡単なことなら 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 日付 変換 おかしい とあるCSVファイルがあって、そこの中に"10-1-1"というデータがあります このCSVファイルをExcelで開くと、2010/1/1という日付と認識され表示されます これは問題ないというか、実際日付なのでありがたいのですが・・・ VBAのworkbook.openでこれを開いてcellsで値を取得して別のExcelにもってくると、 何故か2001/10/1と変換されてしまいます・・・ format関数とか使ってみても、なんだかうまくいきません textでひっぱってくると、#######になってしまいます なんとか正しい値をひっぱってくる方法はないのでしょうか?
>>891 VBAで開いた時点で既に 2001/10/1 として認識されてませんか?
もしそうなら
Workbooks.Open "ほげ.csv", local:=True
ではどうでしょう?
>891 書込み先の書式が mm/dd/yy になってるから yy/mm/dd にしておいてから書き込む。
894 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 17:30:45
>>892 です、Excelで普通に開けば2010/1/1なんですが、VBAで開くと2001/10/1と認識されちゃうんです
やってみましたが、変化無しでした・・・
>>893 認識の時点で年と月がいれかわっちゃうようです
書き込み先の書式をdd/yyにすると無理矢理表示はされましたが
01/1とかになっちゃいました
11月や12月ならこれでもよかったんですけど・・・
今見たらロケールは日本になってます というか、CSVファイルを直接開けば正しく認識されるのですが、 VBAのworkbook.openを使うとおかしくなってしまうのです・・・ 普通に開くのとworkbook.openでは何が違うのでしょうか・・・?
897 :
複乳 :2010/02/09(火) 17:46:29
>>891 どうもすみません・・・
>>892 さんの方法で、TrueをFlaseにしてみて、再度Trueに戻して何度かやってみたら
突然?ちゃんと取得できるようになりました
皆さんどうもありがとうございました
どうも失礼しました
900 :
名無しさん@そうだ選挙にいこう :2010/02/09(火) 18:56:11
Excel2007で新規ファイルを保存しようとしたときに デフォルトがドキュメントになっているのですが これをデスクトップにしたい場合どこをいじればいいのでしょうか?
>>900 つーる おぷしょん ぜんぱん かれんとふぉるだ
ここにデスクトップのパスを指定
2007は違うよ。 左上の丸いボタンを押して現れる窓の一番下に Excelのオプションぼたんがあるから これを押して、次の窓で左の中から保存を選び 規定のファイルの場所に、パスを入れる。
なんと、すまんかった
【1 OSの種類 .】 WindowsXP sp3 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 dropdown vba 自動 入力規則にリスト、ドロップダウンリストで開くを指定しています フォーカス後、セル横の矢印クリックで開くのではなくフォーカスで開くようにする方法があれば教えてください
>>904 これなんかどうでしょう
'ThisWorkbook(ブック)モジュール に貼り付ける
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo Err
If Target.Validation.InCellDropdown Then
SendKeys "~%{DOWN}"
End If
Err:
End Sub
907 :
906 :2010/02/10(水) 00:49:37
いらんものが入ってた 誤 SendKeys "~%{DOWN}" 正 SendKeys "%{DOWN}" だった
908 :
904 :2010/02/10(水) 13:06:25
>>905-907 ひとまず906さんのコードでやりたいことは出来ました
sendkeyは使ったことがなく仕組みを理解してないのでこれから勉強してみます
回答ありがとうございました
>>883 自己解決しました。3Dの方で目盛数を変えて2Dに戻せばよかったのですね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 できれば否 【5 検索キーワード 】 「プロットエリア サイズ 固定」 「グラフの大きさが勝手に変わる」 Excel2007 で表から折れ線グラフを作って「保存」→「閉じる」のあとで ファイルを開きなおすと、プロットエリアの大きさが勝手に小さくなって いることがあり、その都度大きさを元に直して対応しています。 仕様(バグ?)なのか設定で防げるものかご存じないでしょうか。
911 :
複乳 :2010/02/10(水) 14:25:00
912 :
910 :2010/02/10(水) 16:29:55
>>911 ご回答ありがとうございます。
ご指摘のページは検索の際に見ていましたが、Excel 2007 には
「グラフエリアの書式設定、フォントタブで、自動サイズ調整のチェック」
や
「グラフエリアを右クリック「書式設定」「プロパティ」で「セルに合わせて移動やサイズ変更をしない」」
が見当たらないようです。
引き続きご教授お待ちしております。
913 :
名無しさん@そうだ選挙にいこう :2010/02/10(水) 21:47:05
Excel2007ですが たとえばあああ(いいい) という感じのセルがあったとして あああ (いいい) 上記みたいに、これを選択された全てのセルを一気に まとめてセル内で改行させたい場合 (の前に\nをつけて置換しようとした場合、どうしても正規表現にならずにただ\nという文字列が出るだけです これを改行させるにはどうすればいいのでしょうか?
914 :
名無しさん@そうだ選挙にいこう :2010/02/10(水) 21:54:08
>>913 正規表現でなくてもいいなら Ctrl-J に置換するだと思う
916 :
887 :2010/02/10(水) 23:41:36
>>894 実は買った本がたったの2冊だけあって、それがなんとダイソーの100円シリーズのやつ。
でも上級ってあったっけ?
とりあえず「イチからはじめる」のと「中級編」のはひととおり読んで実際PCのExcelで試してみました。
917 :
887 :2010/02/10(水) 23:42:56
「オフィス田中」「インストラクターのネタ帳」のサイトはURL探して見てみます。 初心者がExcelを勉強するためのイイ本はほかにないでしょうか? 複乳さんの中の人でも外の人でも、どなたか知りませんか?
>2 B
919 :
887 :2010/02/11(木) 01:27:35
【1 OSの種類 .】 WindowsXP home 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 お勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロ VBA ショートカットキー 割り当て(google) ショートカットキーでマクロの割り当てをするときに、マクロ→オプションで割り当てるのではなく、 VBAのコード上に直接ショートカットキー(ctrl+shift+Tなど)を割り当てらることはできないのでしょうか?
921 :
名無しさん@そうだ選挙にいこう :2010/02/11(木) 03:37:10
>>887 本屋に行って自分が読みやすいのを選べば
どれも大体似たような事を書いてるから
それよりもヘルプを活用する事を覚えた方がいい
本に載っててヘルプに載って無いことはないから
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 ほとんど使えません 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 読み取れない内容が含まれています エクセル ファイルを開こうとすると 「読み取れない内容が含まれています。このブックの内容を回復しますか?」 とでます。「はい」で開けるけど毎回出るので困ってます。 ググるとファイルが壊れてるという回答が多いですが、何回作り直してもそうなるので違うと思います。 こうなるのは、並べ替えのマクロを使った時です。 Sub 並べ替え() ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("B1"), _ SortOn:=xlSortOnValues With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("A1:B250") .Apply End With End Sub マクロはあまり分からないので、ほとんど自動記録したものをそのまんま使ってます。 このマクロを使ってから上書き保存すると必ず、次に開くとき上の現象が出ます。 並べ替えのマクロは使っちゃいけないんでしょうか?
>>922 やってみたけどうちではエラーは出なかった。
原因は別のところにある。
USBメモリや外付けHDDに保存して、メニューからUSB機器の取り外しを選ばずに
いきなり抜いてたりしない?
>920 Auto_OpenにApplication.OnKeyで 定義しておくのが一般的じゃないかな。
>913 エクセルの置換では無理だと思う。 関数で、=SUBSTITUTE(A1,"(",CHAR(10)&"(") 書式を折り返して表示にしないと結果が反映されない。 固定したければ、コピー値貼付け。
927 :
名無しさん@そうだ選挙にいこう :2010/02/11(木) 13:35:53
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 最高、最大 時間と売上の表を作成し、 最高売上更新時は「1」、最低売上更新時は「−1」を 表示させるには更新のセルにどのような関数を入れれば良いですか? 時間、売上、更新 ・ 、・、・ ・ 、・、・ 《ここまでの最高売上が5、最低売上が3として》 1 、3、 2 、2、−1 3 、4、 4 、6、1 のような感じの表を作成したいです。よろしくお願いします。
>>927 =IF(MAX(B:B)=B1,1,"")
=IF(MIN(B:B)=B1,-1,"")
まちごーた =IF(MAX(B:B)=B1,1,"")&IF(MIN(B:B)=B1,-1,"") 一個だけなら1-1と表示されるがそれはいいか
930 :
927 :2010/02/11(木) 14:31:52
ありがとうございます。 過去の更新履歴を残すことはできないですか?
=IF(C1<>"",C1,IF(MAX(B:B)=B1,1,"")&IF(MIN(B:B)=B1,-1,""))
932 :
927 :2010/02/11(木) 15:32:35
すみません。931の式はどこに入力すればいいですか? C2に入れてコピーするとすべて1になってしまいます。
>>930 更新履歴を残すにはVBAが必要。しかも非常にめんどくさい。
プロに金払って作ってもらうレベル。
>>932 D1
後はどう更新履歴を残すかなどのシート次第なのでなんとも
>>923 ありがとうございます。
ですが、私のレべルがそれを解読するレベルに達していないです・・・
>>925 こちらは私でも出来そうです。ありがとうございます。
936 :
922 :2010/02/11(木) 16:08:57
>>924 HDDは普通の内臓でUSBとかの機器は使ってないです。
ためしてもらってありがとうございました。
とりあえず並べ替え後はセーブしないで、毎回並べ替えしてます。
937 :
名無しさん@そうだ選挙にいこう :2010/02/11(木) 17:03:40
Excelで年齢を求めるには、 A1に「1992/3/2」 B1に「=TODAY()」 C1には何を入力すればいいんだっけ?
DATEDIFかDATADIF つづり忘れた
939 :
名無しさん@そうだ選挙にいこう :2010/02/11(木) 17:29:14
>>938 =DATEDIF(A1,B1,"Y")
だよ
宿題か
941 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 15:10:22
教えてたもれ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 さっぱり 【4 VBAでの回答の可否】 必須 なんにも手を加えていない、シートが3つあるエクセルファイルで Sheet1のA1セルとA2セルに任意の数字を入力した時に Sheet2はSheet1のA1に入れた数字よりも大きい行を Sheet3はSheet1のA2に入れた数字よりも大きい行を それぞれ自動的に表示させなくするにはどうすればいいですか? たとえばSheet1のA1に50、A2に100と入れるとそれだけで Sheet2は51行目から表示されなくなって50行までのシートになり Sheet3は101行目から表示されなくなって100行までのシートになるように そうなりたいんです むずかしいかもしれませんがお願いします
942 :
複乳 :2010/02/12(金) 15:24:02
>>941 コードはやる。ボタンにでも登録すれ
後はvba エクセル辺りで検索してvbaを使えるようになれ
Sub Macro1()
a1 = Sheets("Sheet1").Cells(1, 1)
a2 = Sheets("Sheet1").Cells(2, 1)
Sheets("Sheet2").Rows(a1 + 1 & ":65536").EntireRow.Hidden = True
Sheets("Sheet3").Rows("1:" & a2).EntireRow.Hidden = True
End Sub
943 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 15:34:29
列に、 A B C D E ・ ・ ・ とZまで入力するにはどういう方法でオートフィルすればいいのでしょうか?
944 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 15:45:57
>>941 Sheet1のマクロに下記をぶち込む。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Long
If Target.Column = 1 Then
Select Case Target.Row
Case 1
X = Cells(1, 1).Value + 1
Sheets("Sheet2").Activate
Sheets("Sheet2").Rows("1:65536").EntireRow.Hidden = False
Sheets("Sheet2").Rows(X & ":65536").EntireRow.Hidden = True
Case 2
X = Cells(2, 1).Value + 1
Sheets("Sheet3").Activate
Sheets("Sheet3").Rows("1:65536").EntireRow.Hidden = False
Sheets("Sheet3").Rows(X & ":65536").EntireRow.Hidden = True
End Select
End If
End Sub
>943 '=CHAR(65) と入れてオートフィル 選択状態のまま、データ→区切り位置→完了 固定したければ 選択状態のまま、コピー→値貼付け
946 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 17:52:16
>>945 なんかしらんけど、できました。
ありがとう。
そのしくみが詳しく知りたいんだけど
オートフィルは一回文字列にしないとダメなのね
947 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 17:53:36
シートを100個作りたいんです。 そのシート名はエクセルの100個のセルで用意して テンプレートのシートは最初のシートにする、 みたいな共食いのようなことはできますか?
949 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 18:29:38
VBAってなんでしょうか?食べれるの?
950 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 18:32:28
いま音声読み上げの機能をインストールしたらびっくり。 なんと数字が英語で読み上げられるじゃないですか! ここで質問ですが、 私は英語の聞き取りを勉強してて数字の聞き取りが苦手です。 最初は二桁あたりから、【乱数の数字をたくさん列に表示させたい(100個くらい)】のですが なにかいい方法はありますか?
951 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 18:39:34
ついでに日本語で言わせる方法は?
>>950 =INT(RAND()*100)
下にオートフィルとか
三桁がいいなら*100を*1000
>>951 音声読み上げ 日本語 エクセル
でぐぐれば見つかるかもしれない。無いかもしれない
よく求人誌に「エクセルできる方歓迎!」とか書いてるのを見るんだけど、 具体的に、エクセルの何ができればよいんですか?
>946 数式だとオートフィルができないから 文字列で入れて後から数式に戻す。 数式でもセル番地が増えたりするから オートフィルに見えるけど 実際には相対参照でコピーされているだけ。 一方文字列はキチンと等差が取れるから 3行おきのセル参照とか空白混ぜたりとか いろいろ応用できて便利。
>>953 表の枠線が設定できて、SUM、count、avarage関数使えるぐらいでいいんじゃないかな
=A1+A2なんてのもしっといたほうがいいかも
企業によって違うだろうけど、一般的にバイトが作らされるのは勤務表や請求書などと思えば良いと思う
956 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 20:34:41
>>952 できたぽ。
ありがとう。
日本語読み上げは諦めたぽ。
957 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 21:01:10
>>954 それはすばらしい「コロンブスの卵」的な発想ですね。
数式ができないのは頭にいれときます。
でも3行おきのセル参照とか空白混ぜたりとか、できなくない?
958 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 21:02:42
いぢわるして、 a1 b2 の2つを選んでオートフィルしたら a2 b3 a3 b4 a4 b5 a5 b6 になっちった。 c3 d4 e5 ・ ・ になると思ったのに。
959 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 21:08:30
excelの中級レベルにはなりたいです。 本読むだけじゃ応用のしかたが鍛えられないと思うけど、 みんな実践練習はどうやってますか? 練習問題があればいいんだけど。 自分の趣味のことがらに関する資料とか作ろうと思ったけど 別にexcelで分析するような趣味でもないし。
家計簿をつくってみたらいいよ 他人にも使わせることを前提としたやつ
このスレの問題でも問いてればいいんじゃない? かなりの応用力が付くよ。全く役に立たないのがほとんどだけど
962 :
959 :2010/02/12(金) 21:31:23
>>960 家計簿ってイメージわかないな。支出と収入と、それを月々計算するやつ?
>>961 それがここのスレの問題(質問)は今の段階ではさっぱり分からんです。
いまピボットテーブルの勉強してるけど、元データがないからなにもデータをいじれないから頭に入らない。
963 :
959 :2010/02/12(金) 21:36:04
さてwordとexcelの勉強は初級レベルは終わった。 ところでpowerpointとaccessは、それぞれwordとexcelのある機能に特化した変異版という認識でOK?
>>962 色んな質問サイトとか見てみ。かなり鍛えられる
965 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 21:48:03
966 :
名無しさん@そうだ選挙にいこう :2010/02/12(金) 21:56:27
>>965 それみるのこわいんですけど
10秒後に口裂け女の血と叫び声にならないよね?
ドッキリ画像と思うなら開いた瞬間にprtscrでもしなよ・・ 判別できるソフトとかあると思うけど
Jane Viewだと画像の枚数が表示されるから アニメgifかどうか簡単に判別できる
gifでもjpgにしてると結局同じアプリでで読み込むからアニメーションさせてしまうんじゃなかったっけ
>>969 gifアニメ画像ファイルの拡張子をjpgに変えておくドッキリってのがある
jpgだと思って安心して開くと数秒後にグロ画像とかがいきなり出てくる
973 :
名無しさん@そうだ選挙にいこう :2010/02/13(土) 01:06:27
Excelを学習するのにWebを見るのもいとつの手だし実際に見ています。 でも本で勉強するのも好きなんです。どんな本が優秀ですか? いままではダイソーで買った2冊(「イチからはじめる」のと「中級編」)を読んで一通りPCで操作してのと、 BOOKOFFで゛買ってきた「できるOfficeXP」を読んでこれもPCで一通り操作してみました。 オススメ本の名前を教えていただけると本当に助かるんです。
あえて言うならオフィス田中の人が出してる本はいいんじゃないかな ただ俺はあんまり好きじゃないんだけど
975 :
名無しさん@そうだ選挙にいこう :2010/02/13(土) 01:30:01
知るかw 選んで欲しいなら選ぶと一番上の右から二番目が良いと思う
>957 '=A1 '=A4 この2つを選んでオートフィルとか '=A1 空白 この2つを選んでオートフィルとか そういう使い方のことです。 >958 オートフィルが働くのは後ろの数字だけだから 増やしたい数字(記号)が2つあるときは セルを分けて、後から&でつなげる。
上司が「=SUM(A1+B1+C1)」とかやってるんですけど 突っ込んであげた方がよいでしょうか。
>>980 せっかくそんなスキルがある上司なんだから、突っ込んであげればw
983 :
名無しさん@そうだ選挙にいこう :2010/02/13(土) 18:25:26
ある部下が上司のゴミ箱の中身を掃除のおばさんに持っていってもらいました。 しかし上司が一度捨てた大切な書類をもう一度見ようとゴミ箱をあさりはじめました。 「なぜゴミ箱がからっぽなんだ?」 <略> カンカンに怒った上司は、決まりを作りました。 上司の許可なくゴミ箱の中身を掃除のおばさんに持って行ってもらってはいけないと。
984 :
983 :2010/02/13(土) 18:27:58
>>980 指摘してはいけない。
プライドを傷つけられた上司は、カンカンに怒ってこう言うかもしれない。
「うるさい! 結果が同じならどうでもいいだろ!! 今後この部署ではSUM関数を使うときは全員「=SUM(A1+B1+C1」に統一だ!!!」
985 :
983 :2010/02/13(土) 18:28:51
実話つか、何を言いたいのかわかんない。 ゴミを勝手に捨てるなとか、机を勝手に片付けるなとか 普通にあるし、そんな変な話じゃないけどな。
昔のAppleだったかな 職場のゴミ箱は曜日毎に7つあったそうだ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 ほとんど分かりません 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 検索語を思いつきませんでした マクロの長いソースの中で一時的に使わない部分をオフにすることはできますか? *//とかを前後につけたりして。 全部の頭にアポストロフィをつけるしかないですか?
990 :
名無しさん@そうだ選挙にいこう :2010/02/13(土) 22:14:46
エクセル2003とXPの使用者です。 「1231」と入力して「12月31日」と表示させたいです (当然 0105 と入力の場合 1月5日 と表示させたいです)。 書式をいじれば、できると何かで読んだような気がします。 どなたか良い方法を教えて下さいませ。
>>990 書式をいじればできないことはないけど、後で扱いに困るから「絶対に」やらない方がいい。
シリアル値はシリアル値として扱わないと。(特にここで聞くような人は)
あきらめて、12/31 として入力して、書式で「12月31日」と表示されるようにするべし。
>>990 VBAのWorksheet_Changeでシリアル値に変換するという方法もある
993 :
初心者 :2010/02/13(土) 22:42:26
>>991 単に
>>900 の中の人は、大量に入力があるから時間を短縮させるために"/"すら入力したくないのだろう。
>>990 とりあえず4ケタ入力を全部すませて、そのとなりのセルに =DATE(2010,LEFT(A1,2),RIGHT(A1,2)) としてオートフィルで書き出す。
書き出したやつをコピーして自分自身のセルに「形式を選択して貼り付け」で「値」。
初めて回答者に回ってみた。v(^ ^)v
994 :
993 :2010/02/13(土) 22:44:15
年が2010じゃなけりゃそこを書き換えね。 1けたの月の場合、さいしょの0を省略する方法もあるよ (その場合3けたの数字の入力になる)。
995 :
993 :2010/02/13(土) 22:52:31
>>993 の関数部分訂正。
=DATE(2010,MID("0"&A1,LEN(A1)-2,2),RIGHT(A1,2))
これで
>>994 の事柄も対応済み
996 :
988 :2010/02/13(土) 23:16:21
>>989 コメントブロックでできました。今すごく快適です。
ありがとう!
>>995 もう一息
=DATE(2010,A1/100,MOD(A1,100))
Office田中って、そんな権威ある人なの?ww
1000なら何しよ(´ω`)
1000 :
名無しさん@そうだ選挙にいこう :2010/02/14(日) 00:00:22
1000 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。