1 :
名無しさん@そうだ選挙にいこう :
2009/11/01(日) 00:43:54 ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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総合相談所 87
ttp://pc11.2ch.net/test/read.cgi/bsoft/1254055959/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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-6 乙です。
質問です。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 (ヘルプでの)検索キーワード】cell row
D6セルに『テスト1』と入力して、そこから3行置きに『テスト2、テスト3・・・』と数字を増やすにはどうしたら良いですか?
自分で書いて失敗したのは以下の書き方です。
="テスト"&CELL("row",D6)-5
よろしくお願いします。
>>8 CELL関数の代わりにROW使わせてもらったよ
=IF(MOD(ROW(),3)=0,"テスト"&(ROW()-3)/3,"")
10 :
名無しさん@そうだ選挙にいこう :2009/11/01(日) 15:31:33
=IF(MOD(ROW(),3)=0,"test"&INT(ROW()/3)-1,"") 遅かった
>>8 作業列に番号をふってからソートするんだ。
そっちの方が「良い」。
>8 D6セルに「テスト1」と入力後、D6:D8を選択して下にオートフィルじゃだめ? 数式でやりたいの? >11は無いわw
14 :
8 :2009/11/01(日) 18:38:40
>>9-10 おかげ様で出来ました!
ありがとうございました。
>>11 ???
>>13 そのやり方は知らなかったです。
勉強になりました!
ありがとうございます!
みなさん、どうもありがとうございました!
11がわからない
16 :
名無しさん@そうだ選挙にいこう :2009/11/02(月) 13:36:29
11のやり方は結構メジャーな方法 A列にテスト1〜テスト100までオートフィル。B列に1〜100まで番号を振る。 100の下にB列にもう一度1〜100まで番号を振る。 もう一度1〜100まで。 (つまり300行まで1〜100の繰り返し) B列でソート。 出来上がり。
でも
>>13 の方が簡単そうだなぁ。
左側に何か入力しておいて、D6に入力してから3個のセルを選択してフィルハンドルをダブルクリックすりゃいいんだし。
●はアクセス規制で書き込めないが何があったんだ?
>>17 > でも
>>13 の方が簡単そうだなぁ。
今回の場合は
>>13 の方法でもいいな。この方法は正直忘れてた。
>>11 がいいのはグループごとのソートという明確なルールによってデータが配置されること。
19 :
名無しさん@そうだ選挙にいこう :2009/11/02(月) 17:39:26
Excelのオートフィルには色んな機能があって、 単純にドラッグやダブルクリックする他にもCtrlキーやAltキーと組み合わせると動作が変わる
21 :
複乳 :2009/11/02(月) 17:55:34
>>20 ためしにshiftと組み合わせたら挿入になった
色々あるんだねぇ
>>13 の応用で
B1に=A1
B4に=A2
B7に=A3
みたいな式にするときにも使えるね。
もちろんB1にそのまま=A1じゃ駄目だけど。
23 :
13 :2009/11/02(月) 22:25:23
ここまで評判が良いとちょっと恥ずかしい(*^^*)
複乳 ◆MeiY43UMr.様、ありがとうございました。 規制で書き込めず、返事が遅れてすみません・・・
25 :
名無しさん@そうだ選挙にいこう :2009/11/03(火) 10:00:43
くだらないことだけどさ、 vlookupってtrueがデフォで作られたんだよね・・・、なんとなくtrueとfalseが逆に思っただけ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 グループごとの集計で値の種類の数を出すにはどうすればいいでしょうか。 たとえば下記のような売上データの日付と品目の部分から 日付 品目 10/19 りんご 10/19 りんご 10/19 みかん 10/20 イチゴ 10/20 みかん 10/20 みかん 10/20 バナナ 10/21 イチゴ 10/21 イチゴ 10/21 イチゴ 下記のような表を作りたいです。 10/19 2 10/20 3 10/21 1 ピボットが得意そうな分野だと思ったけど、無理かな・・・ もしくは関数で
>>27 C2=IF(A2<>A1,A2,"")
D2=IF(A2<>A3,A2,"")
E2=IF(COUNTIF(INDIRECT("b"&MATCH(A2,C:C,0)&":"&"b"&ROW()),B2)>1,0,1)
F2=SUMIF(A:A,C2,E:E)
G2=IF(F2=0,0,COUNTIF($F$2:F2,">0"))
H2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c3",0)
I2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c6",0)
後は2行目〜好きなところまで下にオートフィル
HとIに答えが出るはず
もしくはA・B列を選択、データ、フィルタ、フィルタオプションで重複するデータを無視にチェック
集計でデータの個数ってやるのもいいかもしれない
ピボットってこの問題解けるの?使わないから知らないんだけど
>>28 ありがとうございます。
やっぱり関数でやると、面倒になるよね。
フィルターオプションの重複無視を使ってからの集計がいい案ですね。
助かります。
Foe Eachを使い、売上実績.xlsがあったらアクティブになってるシート名を 変数WS3へ入れたいんですが、下記の???には何て書けばいいの? For Each WB In Workbooks If WB.Name ="売上実績" Then WB3 = WB.Name WS3 = ??? Exit For End If Next
ここのしとたち、あたまいいな。たちまちかいけつしる。
33 :
30 :2009/11/03(火) 23:18:55
>>31 ありがd!!
ActiveWorksheet.Name と書いたらダメだったので途方に暮れてました・・・
ブック名は ActiveWorkbook.Name と「Work」が付くのに、何でシート名は ActiveSheet.Name なんでしょう?
>>32 2ちゃんねる語として、その文法は間違いw
語尾の「しる」は「〜しろ」という命令形なので、「〜する」では使わない。
と脱線してみるテスト
35 :
名無しさん@そうだ選挙にいこう :2009/11/03(火) 23:32:36
sheetとsheetsもよく混乱します>< よくわかっていなからだけどさ、 ActiveSheetとか、Worksheetsとかさ。
単数と複数
37 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 00:15:09
A1のセル内に ABCDEFGという文字列があった場合 ・文字列がいくつあろうとも一番右の値を取得 = G ・左から数えて4つ目の文字列を取得を取得 = D ・Bが左から数えて何個目か? = 2 それぞれ教えてください
>>34 〜テスト、は率先してやってみるという意味合いが強い言葉にテストと付ける事により
失敗した際の責任を全部帳消しに出来る便利な語尾
脱線程度で使うのは少しもったいない
>>35 覚えるしかない。けど大概複数でしょう。単数なのは最初から付いてる名前ぐらいなもんで
>>37 ・文字列がいくつあろうとも一番右の値を取得 = right(a1,1)
・左から数えて4つ目の文字列を取得を取得 = mid(a1,4)
・Bが左から数えて何個目か? = find(a1,"b")
もし分からなきゃ「関数」で検索するとよろしい。エクセルの関数一覧がでるサイトが最初に出る
=FIND("B",A1,1)でネノ?
そうか、そうだな。すまんかった。寝る。
41 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 02:15:09
>>33 シートの場合、ワークシートとグラフシートがあるから
Worksheetsコレクションだとワークシートのみ
Sheetsコレクションだとワークシートとグラフシートが扱える
グラフシートを作ってWorksheets.CountやSheets.Countをやってみればわかるよ
機能をよく考えてみるとわかるよ。 Activeにできるのは1つだけ。BookもSheetもね。ウィンドウを複数開いても一番上に表示できるのは1つだけでしょ。 Selectは複数できる。例えばセルをたくさん選択していっぺんにデータを入れたり消したり。だから複数形でCells。 Workが付くかどうかの区別はよくわかんない。英語力があればわかるのかなあ。
43 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 14:16:27
まだ未熟なせいで、うろ覚えでworkをつけては黄色くなり、 sをつけては黄色くなり・・・ 精進するわ
ActiveWorksheetじゃなくActivesheetなのは
>>41 の通りグラフシートがあるから
Worksheetが必ずActiveになるとは限らない
だからActivesheetとなる
ActiveWorkbookの場合はWorkbookの他にはないから
45 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 15:06:47
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 私女だけど質問させて下さい>< マクロで出力した新しいBOOKを、 デスクトップに有無を言わさず強制的に、 保存させる方法はありますか?>< 任意のPCで実現させたいです>< 教えてください><
46 :
複乳 :2009/11/04(水) 16:20:33
>>45 Sub fukunyu()
Application.DisplayAlerts = False
Dim Path As String, WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"
ActiveWorkbook.SaveAs Path & "Sample1.xls"
Set WSH = Nothing
Application.DisplayAlerts = True
End Sub
がんば><
「私女だけど」と断るレスの93%は、男。 「><」の顔文字を使うレスの89%は、男。
私女だけど><
49 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 22:58:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 どちらで聞いていいのかわからなかったので、こちらで質問させてください。 VLOOKUPについてです。 Sheet1の検索値『食品』をSheet2から探し値を反映させたいです。 もしSheet2に『食品』というキーワードがないときに、0となるようにしたいのですが、数式がわかりません。 下手な文章ですみませんが、教えてください。
新垣帳.xlsのG列が0のとき、B列の番号を恋空.xlsから探し、C列の値が0より大きかったら、 新垣帳.xlsのE列へ書き込むマクロを書きました。 ところが、恋空.xlsに該当するものがないとき↓のエラーが出てしまいます。 実行時エラー '91' オブジェクト変数またはWith ブロック変数が設定されていません。 そこで、On Error Resume Nextを書いたら続行してくれるようになりました。 しかし、今度は意図しない値も書き込まれてしまうようになりました。 また、エラーが出たときのPTを知りたいので、これをシート"ERR"へ書き出すには どうすればいいでしょうか? Sub E列を埋めれ() Dim i As Integer, j As Integer, PT As String, PRC As Single i = 3: j = 1 With Workbooks("新垣帳.xls") Do While .Worksheets("MENU").Cells(i, 1) <> "" If .Worksheets("MENU").Cells(i, 7) = 0 Then PT = .Worksheets("MENU").Cells(i, 2) On Error Resume Next PRC = Workbooks("恋空.xls").Worksheets("DATA").Columns("A").Find(what:=PT).Offset(0, 2) If PRC <= 0 Then .Worksheets("ERR").Cells(j, 1) = PT j = j + 1 Else .Worksheets("MENU").Cells(i, 5) = PRC End If End If i = i + 1 Loop End With End Sub
51 :
名無しさん@そうだ選挙にいこう :2009/11/04(水) 23:40:54
>>49 =IF(ISERROR(VLOOKUP(検索条件)),0,(VLOOKUP(検索条件)))
PRC=Workbooks〜 の前に PRC=0 としておけば良いような気もするけど On Error Resume Nextで手を抜かずにOn Error Gotoを使ってエラー処理しましょう。
mousの勉強をしています メニューバーの書式の中にあるオートフォーマットやスタイルというのは一般的に使うのでしょうか? 今まで何年かエクセルさわっていますが存在も知りませんでした
54 :
複乳 :2009/11/05(木) 12:57:09
>>53 私も知りませんでした
多分一生使わないと思います
55 :
45 :2009/11/05(木) 13:09:25
>>46 すげええええええええええ
できた><ありがとう><
>>53 スタイルは10数年前作ったブックで今もそのブックを時々使ってるけが、そのブック以外使ったことないので使い方も忘れた。
57 :
名無しさん@そうだ選挙にいこう :2009/11/05(木) 13:25:52
スタイルとか何のためにあるんだろね?w Ctrl+!で充分じゃん
58 :
名無しさん@そうだ選挙にいこう :2009/11/05(木) 18:03:56
お世話になります。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 アンケートの集約で、100%積み上げ横棒グラフを書いています。 質問事項が56、各項目の選択肢が4というものです。 これを二つに分けてグラフ化してプリントアウトしようと考えました。 そのときグラフの項目名がうまく表示できません。28ある項目の内 4〜5個しか表示されません。項目軸の設定で文字のポイント数を下げると 全部表示されますが、4ポイントとか6ポイントまで下げねばならず、 プリントアウトしたものの字が小さくて実用になりません。 何とかなりませんでしょうか 宜しくご教授下さい。
>58 Excel2003(WinXP)で試してみました。1グラフあたりの項目数は28とし、 グラフシートをA3横、項目のフォントを14ポイントにまではできました。 あとは印刷の際、A3→A4縮小機能を利用すればいかが?
60 :
59 :2009/11/05(木) 19:30:52
追記 グラフはグラフシートに描いています。 というか、A4横でも9ポイントで大丈夫ですよ。グラフシートに出力してみては?
>>58 他のだとそうならないのにそのグラフだけそうなるとか?
なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。
あと、Excelの表示倍率変えると表示されるのに、100%より小さくすると消えたり折り返したりするとか。
項目軸の幅が明らかにおかしいときはグラフ作り直したほうが早い。
倍率の問題だったら、印刷するときの倍率に気をつけて。
>なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。 んなこたぁないw 君が知らないだけでしょ。
63 :
名無しさん@そうだ選挙にいこう :2009/11/06(金) 10:38:05
ifの条件が2つあるときって、ifを入れ子にしなければ無理ですか?andとか&&みたいなのはないですか? あ、私女ですが教えてください><
64 :
名無しさん@そうだ選挙にいこう :2009/11/06(金) 10:44:20
and =IF(AND(A1=1,A2=1),"当たり","はずれ") =IF((A1=1)*(A2=1),"当たり","はずれ") or =IF(OR(A1=1,A2=1),"当たり","はずれ") =IF((A1=1)+(A2=1),"当たり","はずれ") こういうこと?
65 :
複乳 :2009/11/06(金) 10:49:43
>>63 論理式
=(a1=5)*1
だとa1が5の時1に、5以外で0になる
更に=(a1=5)*1*3
とすればa1が5の時3になる
=(a1=5)*(b1=2)*6
で=if(a1=5,if(b1=2,6))
と同じ式になる。ただ>64みたいに文字列の表示などには使えない
(CODE関数などを無理やり使えば可能といえば可能かもしれないが)
>>64 ,65
すばらしい
ANDとかORあったんですね。かなりすっきりしました。これから多用するなぁ。
ありがとうございました。
67 :
名無しさん@そうだ選挙にいこう :2009/11/06(金) 17:13:27
>>59 さん
>>60 さん
>>61 さん ありがとうございました。
自己解決できました。
「軸の書式設定」の「目盛」タグの「目盛ラベルの間隔」を「1」に設定することで解決しました。
m(..)m
68 :
50 :2009/11/06(金) 22:51:38
>>52 ありがとうございます。
もうちょっと頑張ってみます。
69 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 04:52:57
excel2007のアカデミック版を持っているのですが これって二台のPCに入れる事はライセンス的に認められてますか? 通常のアカデミックでないものなら二台まではOKのようなのですが。。
Good morning. 【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 Q1.chechと打ち込むとche chのように見えるのですがchechと美しく見えるようにできませんか? Q2.11/7 と打ち込み、Enterを押すと11月7日と表示されるが11/7のまま表示できないか? よろしくお願いします。
72 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 09:20:12
Q1はフォント Q2は表示形式
73 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 09:20:21
>>71 Q1:フォントを変える。msゴシックとかを使えば?
Q2:セルを右クリック、セルの書式設定の表示形式で日付を選んでお好みのを選ぶ。
計算に使わないなら、文字列もしくは最初に「'」をつける
EXCEL2003 一つのセルに2日間の日付をいれられるように書式はできますか? 2009/11/05 2009/11/25 と入力すると 1105 1125 になるようにしたいです
>>74 A1A2に入ってるってことでいいのか?
その場合=TEXT(A1,"mmdd")&CHAR(10)&TEXT(A2,"mmdd")
で書式設定の折り返して表示にチェック
76 :
74 :2009/11/07(土) 13:50:24
ありがとうございます。
A1の中に二つの日付を入力して、
>>74 のようにしたいのですが。
2009/11/05 → 1105 は出来のですが、二つ同時は出来るのかな?
>>76 できるっちゃあできるが、改行やコンマか何かで区切る?それとも2009/11/072009/12/01みたいに続けて書くのか
それと日付・月は一月一日なら1/1なのか01/01なのか
この二つ教えておくれ
78 :
74 :2009/11/07(土) 14:03:06
改行で0101です。01/01でも構いません。
>>78 ほい
=MID(A1,6,2)&MID(A1,9,2)&MID(A1,17,2)&MID(A1,20,2)
80 :
74 :2009/11/07(土) 14:14:22
A1に貼り付けましたが出来ませんでした。 0と表示されました。
あ、しまった書式か。書式は無理だな
A1に入力してA1以外(A2でもB1でも)にその式を貼ると
>>74 の通りになるよってことでした
82 :
74 :2009/11/07(土) 15:58:55
ありがとうございました。
83 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 19:03:32
なんか知恵袋でも見たな
セルに文字を入力直後、 左向き矢印キーでカーソル移動しようとすると 選択するセルが変わってしまいます。 あらかじめ、F2キーを押す以外の方法はありますか。
85 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 19:52:20
ダブルクリックする まあ慣れだよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可・否 【5 検索キーワード 】 ダブルクオート エクセル csv CSV形式で出力した奴に文字列をダブルクオートで囲み、 数列はそのままの形式にしたいのですがどうすればいいですか?
87 :
71 :2009/11/07(土) 20:34:37
Good night.
>>72 >>73 ありがとうございます。問題は解決しました。
しかし、新しい問題が発生しました。
Q3.その方法だとEnterを押すたびに設定が初期化されてしまいます。
設定を固定化する方法はないのか?
よろしくお願いします。
88 :
名無しさん@そうだ選挙にいこう :2009/11/07(土) 20:36:55
>>51 ありがとうございました
>>49 です
まだ一つわからないとこがあります
例えば『ラーメン』100食
『ラーメンセット』200食
のときVlookupを使うと『ラーメン』も200食となってしまいます
改善策を教えてください
まぁINDEX/MATCHの方が優れてるってことか。
>>86 そういう設定は調べても無かった
ダブルクォートで囲ませたい場合はセルの中にカンマを含ませると可能だが、希望とは違う答えだろうなぁ
俺がどうしてもやらなきゃならない場合は、csvで保存した後カンマを「,"」改行を「"+改行+"」に置換するかな
VBAで組めなくも無いけどめんどくさいからやらない
数式を残したい場合はオプションの表示のウィンドウオプションにある「数式」にチェックをつけるとできるよ
>>88 ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup2.htm 最後の検索の型という部分を0にする
>>89 この問題の場合は同じじゃないの?
vlookupもmatchも順番に並んでないと変な値をつかんでしまう。まぁソートのアルゴリズム通りにやってるだけだろうけどね
91 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 01:03:15
excelで作った折線グラフの折線だけをパワーポイントに貼り付けることはできないでしょうか。 あるいはそれと似たようなことができるなら紹介してください。 お願いします。
>>91 グラフの背景選択してdeleteキー
目盛り線を選択してdelete
これで折れ線だけになる。この状態でPrtScr押して、ペイントに貼り付け
テキトーに編集してコピーしてパワーポイントに貼り付け
でどうでしょう
折れ線だけは無理かねぇ〜
93 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 01:35:07
92さんへ、早速ありがとうございます。 なるほど背景、目盛り線はdeleteで消せるんですね。 折れ線だけはなかなか難しいようです。 折れ線をクリックすると折れ線だけ選択はされるみたいなのでコピーできそうな感じなのですが。 なんかいい方法はないでしょうか・・・。
94 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 01:37:12
せめて、背景を透明化させることができればと思うけど、なぜか透明化の設定が無効になってるし・・・。 Excel 2003です。
95 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 01:50:43
エクセルの他に、このようなことのできるグラフソフトがあれば教えてほしいです。
96 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 01:54:41
レイヤーとかでなんとかならないかなぁ。
97 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 02:12:00
ん、、できたかも。 第2数値軸を設定するとなんか91の言ってたようなことができた。
若干スレ違いなように思われるのは気のせいか。
99 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 10:04:50
>>87 シート全体のフォントをあらかじめ変えておく
100 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 12:21:51
百
101 :
名無しさん@そうだ選挙にいこう :2009/11/08(日) 12:36:26
困ってるんでお願いします 厚生労働省のHPからジョプカードを落として自宅excel2002で編集、その後ハロワでexcel2007(しかない)で コンサルタント記入しようとすると玉にバグでかシートの保護が以後解除出来なくなる事があるんですけどこれ直す方法ないですか? 最初は保護解除できるんだけど、excel2007で編集してると何故か保護してる状態なのに保護解除出来なくなる。保護解除がグレーアウトして押せない。 ジョブカードの四角い枠内をクリックすると下地の編集ではなく、枠の文字編集になってしまう。 枠を一時的にずらすと問題ないのですが、いちいち動かすの面倒なので、枠のみ有効でクリックしたら下地の履歴書とかの文字が編集出切るようにしたい。 以上、2つお願いします
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2000(9.0.2812)/2003(11.8307.8221) SP3
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 VBA メーラー 起動
VBAからデフォルトのメーラーを起動したときに
宛先、件名はセットされますが、本文がセットされません。
以下のmsdnのサイトを参考にしています。
http://msdn.microsoft.com/ja-jp/library/cc440860.aspx アドバイスよろしくお願いします。
Sub test()
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動&body=" & strBody, vbNormalFocus
End Sub
103 :
102 :2009/11/08(日) 13:44:24
付けたしです。 デフォルトのメーラーは、 Outlook Express 6 (6.00.2900.5512) を使っています。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ちょっと 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 A1に入力された数字のシートをSelectするマクロを作っています。 X = Range("A1") Sheets(X).Select 以下略 このようにすると、A1にある数字のシートではなく、 シートを左からA1番目のシートがselectされてしまいます。 どうすればいいでしょうか?? 具体的に言えば、 シートの並びが左から メニュー,1,2,3,4,・・・・ とあって A1=3 の時、"3"のシートでなく、"2"のシートがselectされてしまいます。
問題の切り分けをしよう
Shell "cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動&body=本文", vbNormalFocus
これで問題なければ次を試す
strBody = "本文"
cmdexe= "cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動&body=" & strBody
Shell cmdexe, vbNormalFocus
107 :
102 :2009/11/08(日) 14:17:07
>>105 さん
レスありがとうございます。
>>Shell "cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動&body=本文", vbNormalFocus
こちらでやってもダメでした。
「本文」を「abc」や「123」など半角英数字でも貼りつきません。
>>107 うちでも試してみた。windowsのスタートボタンから「ファイル名を指定して実行」で
cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動&body=本文
を入力しても、たしかに本文は入らない。
Excelの問題じゃないねー
2003+OE6で試したが無理だった
>>104 x = Range("A1")
Sheets(x & "").Select
& ""
を付ければ文字列に
* 1
を付ければ数値にできるよ。
もしくはdim x as stringと文字列変数にしておけば良い
>104 >Sheets(X).Select >シートを左からA1番目のシートがselectされてしまいます。 大抵の場合はそういうものです。 直接指定したいのであればシート名を記述するべき。
112 :
102 :2009/11/08(日) 14:54:28
>>108-109 こちらもコマンドプロンプト直接から試してみましたが駄目でした。
これ以上はスレ違いになってしまうので、
コマンドプロンプトの観点から調べてみます。
ありがとうございました。
>>112 Shell "cmd.exe /k
と/kオプションをつけてプロンプトを表示させたままにすると、"body"は認識されていません〜とでる
対応してないのかも?
&などが入っているのはまずい。 とりあえず cmd/? を実行してヘルプを読むんだ。
>>102 これでいけた。
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:
[email protected] ?subject=メーラーの起動^&body=" & strBody, vbNormalFocus
>>114 さんのヒントを元に、&の前に^を付けたら動いたよ。
""に入っている&を認識させるのに^が必要みたい。
116 :
102 :2009/11/08(日) 19:07:57
>>113-115 ありがとうございました。
動作も確認しました。
レスいただいた皆様に感謝です。
>>94 ん?普通にできるでしょ。
軸の設定を縦軸横軸とも、チェックを全部「なし」にして
目盛り線はdelete
プロットエリアの書式設定もすべて「なし」
で、グラフをコピーして、パワポ上で「形式を選択して貼り付け」で「拡張メタファイル」で貼り付け
118 :
117 :2009/11/08(日) 23:56:04
普通に貼り付けても(Excelグラフオブジェクトとして挿入される)大丈夫だったわ。
Good morning.
>>99 ありがとうございます。
シート全体のフォントで検索したら成功しました。
日付も11/9と打ったら11月9日ではなく,シート全体で11/9と表示できないか?
120 :
複乳 :2009/11/09(月) 09:36:56
>>119 CTRL+Aを押せば全セル選択できる
その状態で右クリック、書式設定をする
既に9ポイントのフォントで入力されているセルの文字の先頭に 1文字18ポイントの文字を入れる事を繰り返す作業をしています この状況だと18ポイントで文字入力固定できないでしょうか? 今は1文字入れてはフォントを18ポイントに変えてるのですが。 WindowsXp Excel2003です。
122 :
複乳 :2009/11/09(月) 10:36:44
123 :
名無しさん@そうだ選挙にいこう :2009/11/09(月) 10:59:18
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 マクロが登録されているブックのブック名を取得する方法、あるいはマクロが 登録されているブックをアクティブにする方法を教えてください。 マクロのユーザフォームでの実行結果をシートに記録したいのですが、複数の ブックが開かれていて他のブックがアクティブになっているときに意図しない 動作になってしまいます。 そこでマクロの登録してあるブックをアクティブにしたのですがブック名が変わ ってもマクロを修正しなくても良いようにしたいと考えています。 よろしくお願いします。
124 :
複乳 :2009/11/09(月) 11:22:55
125 :
123 :2009/11/09(月) 11:28:24
>124さん ThisWorkbookでしたか。 無事解決できました。 早々の回答、ありがとうございました。
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 条件付き書式でセルのデータが特定値の場合にセルに色づけをしたのですが、別シートにその色だけを残したい(セルのデータは消去の状態)のですが、可能でしょうか?
127 :
複乳 :2009/11/09(月) 16:00:07
128 :
名無しさん@そうだ選挙にいこう :2009/11/09(月) 20:48:39
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel07 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 非常に初歩的な質問で申し訳ないですが、 エクセルの表計算について教えて下さい。 現在複数のパソコンで共有しているエクセルファイルがあります。 ある社員AがAのパソコンからそのファイルを開き、 編集する過程で計算方法を手動に変え、 そのまま上書き保存したとします。 その後社員BがBのパソコンからそのファイルを開いた場合、 計算方法は手動に変わったままになるのでしょうか? それとも普段自分のパソコンで自動にしていれば、 たとえAがAのパソコンで手動にしていても、 Bのパソコンで開いたときには自動になっているのでしょうか? 実験すればいいのですが、 諸事情でしばらく実験できないので、 どなたか教えていただけないでしょうか?
129 :
名無しさん@そうだ選挙にいこう :2009/11/09(月) 21:50:51
なんか同じ内容をどこかで見たような・・・・w 手動になるよん
質問です。 SeetChangeイベントで、 Dim GYO As Long GYO = Target.Row Range(Cells(GYO, 1), Cells(GYO, 10)).Font.ColorIndex = 1 というふうに、変更されたセルの行数を取得してマクロを組んでいます。 ここで、例えば、複数セルを選択して削除やコピーされた時、 一行しか色が変わりません。 変数宣言の仕方で複数行対応できますか? 助けて下さい。眠くて死にそうです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ちょっとなら 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 シートX(変数)から、SUMPRODUCTで E列がりんごで且つ、F列が「Cells(i,1)」の数を返すマクロを作っています。 Cells(i, 2).Value = Evaluate("SUMPRODUCT((" & X & "!E:E=りんご)*(" & X & "!F:F=" & Cells(i, 1) & "))") 上記だと、NAME?エラーが返ってきてしまいます。 どこがおかしいのでしょうか?
132 :
131 :2009/11/10(火) 00:43:41
自己解決しました。。。 初歩的なミスのオンパレード・・・。
133 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 03:06:03
頭がオカシイ
134 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 03:29:55
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 他ブックの内容をリストボックスに表示したいのですが、どうすればいいでしょうか? A行にID,B行に名前がずらっと表示されているブックでいいです。シートはSheet1で構いません。 読みだすブックは同じファイルで結構です。 よろしくお願いします
135 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 07:26:58
>134 additem
137 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 08:30:57
>>130 Target.Resize(,10).Font.ColorIndex=1
139 :
134 :2009/11/10(火) 11:54:36
Private Sub UserForm_Initialize() Dim lastRow As Long Dim ReturnBook As Workbook, TargetBook As Workbook Set ReturnBook = ActiveWorkbook Application.ScreenUpdating = False Set TargetBook = Workbooks.Open("D:\test\sample.xls") With Worksheets("商品マスタ") lastRow = .Cells(Rows.Count, 1).End(xlUp).Row End With With ListBox1 .ColumnCount = 3 .ColumnWidths = "50;50;50" .RowSource = "商品マスタ!B2:D" & lastRow End With ReturnBook.Activate Application.ScreenUpdating = True TargetBook.Close End Sub とりあえずリストボックス自体はなんとか表示することは出来たのですが、 リストボックスの最終行が文字化けしてしまい、 この操作を完了するのに十分な記憶域がありません。とエラーが出てしまいます 助けて下さい・・・
140 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 21:25:46
>>140 絵が汚すぎワロス
それはともかく、
セルを結合することはできるけど分割することはできない。
だから、A列を二つに分割してそれぞれに文字を入れるようなことはできない。
ただし、A列とB列を結合しておいて、必要に応じて結合を解除するのならできる。
あるいは単にテキストボックスやオートシェイプを使って、セルが分割されているように見せかけることはできる。
エクセルはそもそも「表を作るツール」ではないので、あまり柔軟な表を作ることはできない。
複雑な形の表を、計算とかをさせるのではなくてただ表として表示するための目的で作るのなら、
ワードなどの他のソフトを使って作るべき、と一応言っておく。
>>141 ありがとうございます。
今回は計算の必要ないのでワードで挑戦してみます。
143 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 23:23:23
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5検索キーワード】 エクセル初心者ですいません vlookupで表示した数字が日々更新されるのですが、例えば数字更新時に昨日の数字をひとつ隣のセルに移行し更新した数字を昨日数字があった場所(元の場所)と言った形で表示することは可能でしょうか? 簡単に言ってしまうと 数字を更新したら前の数字が自動で一個右のセルにずらしたいのです。 ただ表示されている数字がvlookupを使ったものでエクセル始めたばかりではわかりません・・・ よろしくおねがいします。
fgv
>>143 値を残したいならVBAしかない
=now=tofdayは今の日付などをのこせるが こう新されてしまう
VBAがダメなら値で貼り付けをうまく使うしかない
147 :
名無しさん@そうだ選挙にいこう :2009/11/10(火) 23:40:21
素早い解答ありがとうございました。 更新の数字が多すぎるのでどうにかならないのかと思い質問しました!
複乳はどんなつまらない質問にも真正面の回答だな。
質問者は喜ぶだろうが本人のためにならないと思うぞ。
>>143 へ
日々更新されるようなデータは縦に並べるべし。
右にずらすなんてやっちゃだめ。VBAでできてもだめ。
>>147 CTRL+Aで全選択
その状態でコピー、右クリックの形式を選択して〜の値で貼り付け
で数式の結果が阿多タイで保存される
>>148 つまんねー仕事にはしばしば共感できるところがある。散々やってきたからね
それで大体予想できたりもする。まぁ外れてるかもしれないけどね
「A1+A2の結果をプリンタアウトしてB1に入れてB2に足せ」みたいな仕事なんて仕事聞いたことがある?
ないなら普通の会社です。あるなら俺と同じです。
中小・零細には多分しょっちゅうある。周りにはあった。そういうウンコ以下の仕事を正面切って解決してあげたい
というのが俺の思い
無駄に「B2=A1+A2でいいんじゃないですか」というと無駄に怒られるからね
俺がそうだったから
ただ効率化できそうなところは私の知識を尽くして助言はしているつもりだよ
>>149 私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものに価値は無い。
私もお前と同じで、つまらない仕事を何度も強制されている。
でもそこからどっちに進むかが違うんだな。
つまらない質問にお前がつまらない回答をすると、つまらない手法が大量生産されてしまう。
VBAで値を右にコピーする方法を覚えた
>>143 は、何年か後になって自分の後輩や部下にゴミみたいな仕事を伝承していくんだぞ。
ちょうどお前が経験したように。
>>150 私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものでも 価値は ある
私がそうだったので言うが
私の上司は本当にウンコみたいな作業を仕事といってはばからない人だった
-中略-
その人は首になった。今私はその業務をVBAに置き換えて別の方々と仲良くやっている
まぁ、上司を殺すために自分がイエスマンになって技術を蓄えるか
上司を説得してその職場自体を帰るか、の違いだろうね
私はその前者を見越してイエスマンになった
そしてチクリにチクった後、その人がクビになり、私は総務を任される(システム上ね)立場になった
その後0からシステムをたちあげ・・
というしょーもない経緯があるため、どうみてもしょーもない仕事に対しては
できるだけ「その裏にある意向に沿うように」全力を尽くしている
つもりである
例え私が間違っててもまあ、その人が技術を積んでいけばまたこのスレに来るか
勝手に技術を習得することだろう、と信じてね
ただやはり向上心があることを前提にした手法を教えてることは、否めないかもしれない
あと俺自身未熟なため、かなり行き当たりばったりだし。逆にすぐに回答が出せるという長所があるかもしれない
飲みすぎた 寝るぜ
今学生です。就職活動のためにエクセルを少しは使えるようになったのですが、 アクセスって覚えたほうが良いですか? それともエクセルを極めたほうが良いでしょうか?
154 :
名無しさん@そうだ選挙にいこう :2009/11/11(水) 09:40:55
両方使えたほうがいいだろうが、中途半端が一番つかえないな。
155 :
複乳 :2009/11/11(水) 09:53:39
エクセルはほぼ100%入ってるだろうけど、アクセスが微妙なとこだな アクセスはシステムが既に組まれていて、入力のみというパターンが多いと思う 大企業ならデータベースのデータをひっぱって来る技術があるといいかも 中小なら自分がデータベース組めると非常に便利かも。ソフトがインストールされてればの話だけど エクセルはvlookup使えれば大体なんでもこなせると思う
ありがとうございました 色々調べてみようと思います
SEって誰でもできるのかぁ
>>153 エクセルはほどほどにしておいて、アクセスを使ってみてほしい。
アクセス知らずにエクセルだけで突き進むとバッドテクニックばかり身につけてしまうぞ。
逆にアクセスをちょっとかじってるだけで、エクセルの使い方のセンスもよくなる。
久々に来たらコレがいてワラタ
160 :
名無しさん@そうだ選挙にいこう :2009/11/11(水) 23:08:47
windows7搭載のパソコンに付いてるエクセルは、VISTAのエクセル2007と操作方法は同じですか? XPからVISTAへの時みたいに激変してるのでしょうか。
161 :
名無しさん@そうだ選挙にいこう :2009/11/11(水) 23:32:26
591:デフォルトの名無しさん :2009/11/11(水) 22:10:44 シート2の表を、シフト+編集で図のコピーを行い、シート1に貼るマクロを組みましたが、 そのシート1の貼りつけた図のコピーを切り取るマクロを組むと、ピクチャー番号が異なるために、できません。どうすれば、解決できますか?
エクセルでグラフを作成した際、プレゼン等でそのエクセルを使いたい場合 元の数値データを隠す、見えなくするにはどうすればよいでしょうか?
>>162 オブジェクトで表示しなきゃいいんじゃない?
>>160 OSとアプリは全く別個で考えてください
両方2007なら同じと思っていい
SP等によりほんの少し変わる可能性があるが、SPが分からなければ考えなくて言い
>>162 グラフの中の数値なら数値を右クリックで書式設定
セルの数値なら列や行を選択して非表示とか文字の色を白とかに
>>161 切り取って貼り付けると
Shapes("Picture 1")
が
Shapes("Picture 2")
になるねぇ。それじゃないの
165 :
名無しさん@そうだ選挙にいこう :2009/11/12(木) 11:21:48
Win7、office2007です。 ファイルを開く時にファイルをプレビューウインドゥに表示させようとすると、 「Microsoft office excelプレビューアにエラーがあるため、このファイルはプレビューの表示ができません」 となります。 何のエラーですかね?
Hello,
>>120 成功しました。ありがとう。
Q.=SUM(F:F)で集計した秒数を
0:00:00
の表示にしたい。
167 :
複乳 :2009/11/12(木) 12:38:51
>>165 分からん
そのメッセージで一字一句間違えずに検索をかけてみると分かるかもしれない
>>166 F列が時刻なら、書式設定。時刻にある13:23:22みたいな奴
F列がシリア値でなく「1」や「5」の場合はシリアル値に直す↓その後書式設定
=SUM(F:F)/24/60/60
EXCEL内にフォルダを作るにはどうしたら良いですか?? 先輩がから早く作れとお叱りです!
意味が分かりません フォルダ内にエクセルファイルを作るならエクセルを起動した後ファイル→名前をつけて保存
沸いてるね。
>>169 複乳ってなんですか?なぜそのような名前なのですか?
172 :
名無しさん@そうだ選挙にいこう :2009/11/13(金) 00:40:39
for n =0 To 5 ActiveCell.FormulaR1C1 = "=-(R[&n]C[-2]-R[-4]C[-2])" R[+&n]を引数にする場合はどうすればいいでしょうか?
>>172 ActiveCell.FormulaR1C1 = "=-(R[" & n & "]C[-2]-R[-4]C[-2])"
ってことでOK?
175 :
名無しさん@そうだ選挙にいこう :2009/11/13(金) 08:57:18
2003から2007にアップグレードしたのですが リスト化していた所がテーブルになっていて 最終行に新規行(*のついた行)が無くなってしまいました 行挿入で追加して行くしかないのでしょうか?
最下行右端の列でタブを押せば行が追加される。 が、*のついた新規行がつねにあるほうが使いやすいと俺も思う。 テーブルの途中に行ごとコピペして挿入しようとすると「できません」とかエラーがでるし。 これはなんとかしてほしい。
質問です>< 表示していないシートを誰からも見られたくないんですが、 そんな魔法の呪文はありますか?>< 秘密は見られたくありません><
178 :
複乳 :2009/11/13(金) 12:53:12
>>177 書式のシートの非表示
非表示を解除されたくない場合は「シート 非表示」でぐぐって二番目のリンク
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 オートシェイプを使ってマクロの実行ボタンを作っています。 マウスポインタをボタン上に置いた時、ポップアップのメッセージを 表示させたいのですが、可能でしょうか? ちなみに私は女です。
>180 ユーザフォーム上であればControlTipText
182 :
180 :2009/11/13(金) 20:48:27
>>181 レスありがとうございます。
ユーザーフォームでなく、シート上なんです・・・。
やっぱりできないですかね?
>ちなみに私は女です ま、マジっすか?(;´Д`)ハァハァ
>182 ユーザフォーム上で作成してユーザフォームをShowModal=Falseにする。
Excel2003を使用しています。 A1 4 A5 8 とあったとして、A1とA5の値を利用してA2〜A4を補間したいのですが、 今は =($A$4-$A$1)/5+A1 という式をA2に入れてA4までオートフィルという作業をしています。 これが何千行もあって、数字がところどころ足りないのを上記の式を入れるのを手作業でやってます。 これを何とか、多少なりでも自動化できないものでしょうか。 例えば、空白を探すのは手作業でも構わないので、式を入れるのを簡略化できるような方法はないでしょうか。 (もちろん、空白を探すのも自動化できるならそれに越したことはありません。少しでもヒントが欲しいです) マクロでもかまいません。0から作るのはまだ難しいですが書かれたものの解読はある程度できると思います。 よろしくお願いします。
186 :
185 :2009/11/14(土) 14:37:05
追記です。 もっと簡単な関数があるよ、というような情報でも構わないので、どうぞよろしくお願いします。
>>185 その法則だと例えば
A6 9
A7 10
なの?
それとも他の数字になる可能性もあるの?
>>185 最初と最後の数字の入っているセルの領域選択して
編集→フィル→連続データの作成→予測→OK
これで2点間が補完されるから
あとは、同じ領域をさがして、Ctrl+Yで繰り返し
データが一直線に並んでるなら
Shift+Ctrl+カーソルで領域選択しながら上の作業の繰り返し。
マクロのほうが簡単だろうけど俺はしらん。
>>185 ところで例の
=($A$4-$A$1)/5+A1
は
=($A$5-$A$1)/4+A1
だと思うのですがどうでしょうか
>>185 できた
B1=IF(A1>0,COUNT($A$1:A1),0)
C1=COUNT($A$1:A1)
D1=ROW()
E1=INDIRECT("r"&MATCH(MAX($B$1:B1),C:C,0)&"c1",0)
F1=INDIRECT("r"&MATCH(MIN(C1:$C$60000)+1,B:B,0)&"c1",0)
G1=IF(A1<>"",A1,(F1-E1)/COUNTIF(C:C,C1))
を入力して下にオートフィル。G列が答え
191 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 16:50:36
ピボットテーブルでつくった集計表をデータベース形式にもどすほうほうはないですか?
値のみ貼り付けしてから適当に加工
193 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 17:04:34
その適当にの部分をおしえてほしいです。
手作業でこつこつと
196 :
185 :2009/11/14(土) 17:58:11
>>187 色んな数字になる可能性があります
具体的に言うと、連続的に自動で観測されているデータがあるのですが
機械の不調等で、データが取得されていないことがあって、
しかしながらそれを他の計算等の元のデータとして使うときにそこが空白だと困ることがあるので、
仮にでもそれらしい値を入れておきたい、というようなときにこの作業をしなくてはなりません
したがって、空欄の数もそのときによって違います
>>188 ありがとうございます!
こんな機能がある事を知りませんでした。
少なくともいちいち数式を入力するより速くて簡単にできますね。
>>189-190 ありがとうございます(間違いのご指摘も含めて…)
ちょっとぱっと見ただけでは何がなんだかですので、
ゆっくり解読させていただきますね。
197 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 18:30:17
198 :
188 :2009/11/14(土) 18:36:56
>>196 これでどうだ。先頭のセルを指定して実行
最後まで線形補完する。
前提条件は、データが一列、
Sheetの最終行が65536で、かつそこに補完すべき数字が無いこと。
初マクロなんであらゆる状況で上手く動くかはわからん。
Sub senkeihokan()
Do
Range(Selection, Selection.End(xlDown)).Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Trend:=True
Selection.End(xlDown).Select
Loop While ActiveCell.End(xlDown).Row <> 65536
End Sub
199 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 20:19:52
微妙・・・
200 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 20:35:52
この書き方は初めてみた Range(Selection, Selection.End(xlDown)).Select
201 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 21:05:44
A1:A100のセル内にある文字列のうち 一番右の文字列が「あ」のセルの数をカウントしたいのですが、 わかりません教えてください rightを使うにしても、いまいち使い方がわかりません。
>>193 総計の右下のセルでダブルクリックするだけじゃねーの?
しかしアクセス規制いつ外れるんだ?
削ジェンヌまだ生きてるのかね。
>>201 =COUNTIF(A1:A100,"*あ")
>>201 =COUNTIF(A1:A100,"*あ")
ん?おれはどっちだ? 後の方だなきっと。
うーん、俺もどっちかわからんが、まあ考えることは同じだね。 ちょとおもろい。
207 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 21:19:31
>>201 どうしてもrightをつかいたいなら
=SUMPRODUCT((RIGHT(A1:A100,1)="あ")*1)
208 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 21:20:51
>>203-206 有り難うございます
もうひとつだけお願いします
たとえば左から4つ目が「あ」の
数をカウントしたい場合はどうすればいいのでしょうか?
>>202 はアンカーミスってるな。
>>191 あてだ
しかしいちいちp2から書きこむのも疲れるな。
アクセス規制いい加減に解いてくれねーかな。
>>208 =COUNTIF(A1:A100,"???あ*")
試してないけどな。
211 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 21:33:45
>>208 =SUMPRODUCT((MID(A1:A100,4,1)="あ")*1)
>>210 が個人的には好きだw
この問いにSUMPRODUCTは無いわw
213 :
名無しさん@そうだ選挙にいこう :2009/11/14(土) 23:12:18
WinXPで、Excel 2002を使ってます。 セルに色を塗るときは、セルを選択して、色のボタンを押すと そのセルを塗りつぶせます。 2度手間になります。 セルをクリックするだけで、そのセルに色を付ける方法を教えてください m(_ _)m
>>213 F4じゃダメですか
F4=直前の行動の繰り返し
215 :
213 :2009/11/14(土) 23:48:37
>>214 ありがとうございます m(_ _)m
F4で出来るんですね。 マウスにF4割り当てて、実用化できそうです。
できればワンクリックだけで、色を塗りたいので
よろしくお願い致します m(_ _)m
用途は、英語の学習で、不慣れな熟語や構文などをエクセルに書いて
練習した物を塗って行きたいのです。 順番にやると飽きるので。
ワンクリックだけで、お前が意図した色が塗れるほどPCは賢くないと思うが?
>215 Worksheet_SelectionChange
218 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 09:58:00
>>215 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Interior.ColorIndex = 17
End Sub
これをシートタブを右クリック、コードの表示の白いところに貼り付ければダブルクリックすれば色がつくようになる。
色番号はそこらへんのサイトをみて
いらなくなったらコードごと普通に消せばいい
219 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 12:18:27
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 勉強中です 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 イベント 列挿入 よろしくおねがいします あるシートで列挿入を禁止したいと思います。 行挿入やセルの内容変更は自由なまま、 列挿入だけを禁止できますか?
220 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 12:53:01
シート全体でセルの書式の保護をあらかじめロックのチェックを外しておいて シートの保護で「ユーザーに許可する操作」を列の挿入以外チェックしておけばいいんじゃね?
221 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 12:57:16
3つ以上重複しているデータを抽出して、その重複しているデータがいくつあるかカウントしたいのですが、やり方がわかりません。 教えていただけませんか?お願いします
>>221 他にいい方法があるかもしれないが、
countifで3個以上重複している数を出して、別シートにでもコピーした後で
ピボットするのが漏れの最速方法。
一度に出すやり方がわからないのなら一つずつ順を追ってやってみたらどう?
223 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 13:27:22
データ数だけだったら =SUMPRODUCT((COUNTIF(A1:A10,A1:A10)>2)*1) ↑a、a、a、b、b、b、c、c、d・・だったら6個 何種類・・・だと =SUMPRODUCT((MATCH(A1:A10,A1:A10,0)=ROW(A1:A10))*(COUNTIF(A1:A10,A1:A10)>2)) ↑a、a、a、b、b、b、c、c、d・・だったら2個 データが入っていないところまで範囲を指定するとN.Aになるよん
224 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 14:59:27
vistaでexcel2007を使っています。 グラフを作るときに、縦軸を対数表示にすると、目盛りが10、100、1000…というふう に表示されるんですが これを10^1,10^2,10^3…というふうに表示するにはどうすればいいんでしょうか? このとき、乗数もきちんと10の右上にくるようにしたいです。
226 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 17:29:41
納品書と請求書さえできればいい。 最初に会社を選んだら商品名を選んで数量を書いたら自動的計算して納品書と請求書がプリントアウトできてデータは蓄積される。 商品も会社別に単価を変えれていつでも変更も可能で、締めに合計請求書が作れる。 この程度ならExcelで作るのは難しくないですよね?
そういうのはAccessでつくるとかんたん Excelでもできるけど手数がかかる。たぶんVBAつかわないと実用にはならない。
229 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 18:27:46
>>226 228も書いているけど、出来なくはないけどアクセスの方がいい。
だいたい、納品書と請求書なんてワード差し込み印刷使う以外はvbaになるだろな・・・・
230 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 18:39:28
まあAccess2000で作ったソフトは今使ってますけど、今回はExcel2007で作りたいので。
エクセルどうこうよりVBAが使えるかどうか 使えるなら簡単、使えないなら色々と無理なところがある
232 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 19:50:25
まあ作りたければ作れば。 vbaが使えなければ、訳分からん関数の嵐になるしメンテも煩雑だと想像できる
233 :
名無しさん@そうだ選挙にいこう :2009/11/15(日) 23:29:51
>>230 そういう「何となく」作ったものが後々混乱招くからやめれ
何故Excelで作るのか、何故ACCESSで作らないか
はっきりしとかないと、現場は混乱する
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(一応…) 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 (いいのが思いつかない…) MATCH関数で検索する範囲を条件によって変えたいのですが。 A2〜E2が列タイトル、A3〜E8にデータが入っているような表を考えます。 例えばVLOOKUPなら列タイトルを指定して結果列を変えることは VLOOKUP(A1,$A$3:$E$8,MATCH(B1,$A$2:$E$2,0),false) こんな感じでできますが、 MATCH(A1,何か関数(B1,$A$3:$E$8),0) のような感じでB1の値によってMATCHの検索範囲をA〜E列で切り替えたいのです。 こういう場合、INDIRECTを使ってがんばるしかないんでしょうか? 現状、MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0)とか書いてるんですが なんとかスマートにならないかという質問です。
>>234 B1にA〜Eを入れ
B1=A
C1=MATCH(A1,INDIRECT(B1&"3:"&B1&"8"),0)
もしくは名前の定義。A3:A8に"A列"という定義をしておいて
B1=A列
C1=MATCH(A1,INDIRECT(B1),0)
基本的には前者でいいと思うが、変則的な場合は後者が使えるかも
236 :
名無しさん@そうだ選挙にいこう :2009/11/16(月) 13:07:57
【1 OSの種類 .】 Windows Vista SP1 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 使えます 【4 VBAでの回答の可否】 可です 【5 検索キーワード 】 共有違反 保存 Excel 2007で作成されたマクロつきファイルを上書き保存しようとした時に発生した現象です。 ブックの共有などを一切していないExcelファイルなのですが、 2007で上書き保存ボタンを押したところ、下のメッセージが表示されました。 「'testtest.xlsm'への更新は、共有違反のため保存されませんでした。別のファイルに保存し直してください。」 上書き保存はできず、一時ファイル(ファイル名は、ランダムの英数字8字。拡張子なし)が作成されています。 別名に保存することは可能ですが、都合上、上書き保存できるようにしたいです。 この現象の原因や対処をご存知の方は、ご教示いただけないでしょうか。 なお、ググったりMicrosoftサポートページを参照しても、私が見た範囲では該当するページが見つかりませんでした。 よろしくお願いいたします。
>>232 激しく同意。
>>223 の2つ目のコード見た時「うへぇ・・・」と思ってしまった(
>>223 さんゴメン)
VBA覚えたほうがラクにいろんなこと出来るようになって便利。
238 :
複乳 :2009/11/16(月) 14:10:33
>>236 サービスパック・アップデートがあるなら入れる
それでダメなら新規ファイルを作り、そこにシートやマクロをコピーしてみるとか
新規ファイルでも起こるなら分かりません。
OSごと再インストールしたほうが良いのかもねぇ
239 :
複乳 :2009/11/16(月) 14:16:50
>>221 >>223 を改造してみた。B1に範囲を入れる
B1=A1:A10
C1=SUMPRODUCT((MATCH(INDIRECT(B1),INDIRECT(B1),0)=ROW(INDIRECT(B1)))*(COUNTIF(INDIRECT(B1),INDIRECT(B1))>2))
これで少しは範囲の変更に対応しやすくなるかも
ならないかも
ヴァカ =MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0) 利口 =MATCH(A1,INDEX($A$3:$E$8,,C1),0)
すまん、列が256とかあるなら下にしてくれ。
利口 =MATCH(A1,INDEX($3:$8,,C1),0)
>>240 は最大5列の式だ。
242 :
名無しさん@そうだ選挙にいこう :2009/11/16(月) 18:33:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 (…) 質問です。食堂でお客さんのデーターを取りたいのですが メニューが3種類の日替わり定食で一日限定5食、計15食とします。 男性 30代 カレー 1 カレー 男性 30代 女性 30代 カレー 2 カレー 女性 30代 男性 20代 オムライス 3 男性 40代 オムライス 4 女性 20代 オムライス 5 男性 40代 うどん これを 1 オムライス 男性 20代 2 オムライス 男性 40代 3 オムライス 女性 20代 4 5 1 うどん 男性 40代 2 3 4 5 って左のデーターを右のような形式に表示したいのですが どうすればいいでしょうか? よろしくお願いします
test
>>242 初めから右の形式で入力したらいいだろう。
右の形式ってなにかいいことあるのか?
246 :
242 :2009/11/16(月) 20:52:25
すいません。 ブロックに分けたいのです。 ブロックに分けて色をつけたいので。 3食と書きましたが実際には10食ぐらいあります。 書き込みが多すぎてしまうので3食にしました。
>>245 同感。
>>242 本当にやりたいことは何?
誰にどんな定食が人気あるのか分析したいんじゃないの?
>>246 なんで色を塗りたい?
誰にどんな定食が人気あるのか分析したいからだろ。違うか?
249 :
242 :2009/11/16(月) 21:07:57
>247 >248その通りです。 すいません。
>>249 そういう時はクロス集計をするんだ。
ピボットテーブルを使えば簡単にできる。
ビジュアルに理解したい場合はピボットグラフだ。
以上。
251 :
242 :2009/11/16(月) 21:23:15
>250ありがとう くぐってみます
252 :
名無しさん@そうだ選挙にいこう :2009/11/16(月) 21:31:40
>>237 >>223 も
>>232 も自分(=同一人物)なので気にせず〜w
関数で遊ぶのは楽しいけどさ、実用的じゃないと思うんだよ
まあマクロを忌み嫌う人もいるから
>242 はむしろ、単純な棒グラフに手書きで×とか積み重ねていった方が楽そう
>>253 ほう。どんなグラフ?
縦軸と横軸は何?
×の位置と数にはどんな意味をもたせるの?
下記のようなデータのAB列とD列をSheets3のAB列とC列の最下行にコピペするとき、 D列の最下行が空白セルだとうまくいきません。どう対処すればいいですか? (A列とB列は空白になることはありません) Sheet1 A B C D 美咲 郁恵 貴子 真央 久美 早苗 美恵 慶子 愛美 直子 沙希 Sheet2 A B C D 和美 奈々 昌枝 涼子 麻子 鈴香 聖羅 由梨 真美 明菜 未来 寿江 Sub コピペ() With Worksheets("Sheet1") .Range("A2", .Range("B65536").End(xlUp)).Copy _ Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1) .Range("D2", .Range("D65536").End(xlUp)).Copy _ Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1) End With With Worksheets("Sheet2") .Range("A2", .Range("B65536").End(xlUp)).Copy _ Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1) .Range("D2", .Range("D65536").End(xlUp)).Copy _ Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1) End With End Sub
>>255 gyo=Range("A65536").Selection.End(xlUp).Row
でA列の最終行を変数に入れ
.Range("D2", .Range("D" & gyo ).End(xlUp)).Copy _
でD列のgyo行まで指定みたいなカンジで
並び替えを行うに当たって、文字列の大小関係を A < B < ... < Z < AA < AB と扱う場合に、 A8, Y1,, AD14 みたいにアルファベットと数字がセットになったものを 並び変えるにはどうしたらよいでしょうか?
作業用のセルに頭に0をつけたデータを作り コピーして、「形式を選択して貼り付け→値」で値に置き換えたあと 「データ」→「並び替え」で普通にできるよ =RIGHT("000" & A1,4) → 00A8 ↑これを並べる
試してみましたが、数字部分の桁数が一定でないと、 うまくいかないですね… アルファベット部分と数字部分に簡単に分解できたら嬉しいのだけどなぁ まぁでも、CODE, IF, MIDあたりを使って分解、 アルファベット部分の重みづけには教えてくれた方法を利用すれば、 面倒だけどなんとかEXCEL関数でも処理できそうに思えました。どうもありがとう。
>>257 >>258 を拡張
=REPT("0",10-LEN(A1))&A1
10文字までの文字列を10文字になるまで0で補完する
もっと長いなら10を100にすればok
【Excel】便利なショートカット キー一覧 F2 でセルの編集 F4 でセルのクリア 直接入力 [Shift] + [Space] で行の選択 直接入力 [Ctrl] + [Space] で列の選択 [Ctrl] + [D] で上のセルをコピー [Ctrl] + [R] で左のセルをコピー [Ctrl] + [ ; (セミコロン)] で日付を入力 [Ctrl] + [ : (コロン)] で時間を入力 [Ctrl] + [0] で列の非表示 [Ctrl] + [9] で行の非表示 [Ctrl] + [1] でセルの書式設定 [Ctrl] + [2] で文字を太字 [Ctrl] + [B] でセルの書式設定 [Ctrl] + [3] で文字を斜体 [Ctrl] + [I] で文字を斜体 [Ctrl] + [4] で文字に下線 [Ctrl] + [U] で文字に下線 [Ctrl] + [5] で文字に取り消し線 [Ctrl] + [7] でツールバーの [標準] を表示・非表示 [Ctrl] + [8] でアウトラインを作成 [Ctrl] + [F] で検索 [Ctrl] + [H] で置換 [Ctrl] + [K] でハイパーリンクの挿入 [Ctrl] + [N] で新しいブックの作成 [Ctrl] + [L] でリストの作成 [Ctrl] + [W] でブックを閉じる [Ctrl] + [O] でファイルを開く ※数字はいずれもテンキーでない方
テンプレにあってもいいなぁ(´ω`)
263 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 10:59:54
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 勉強中です 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 お聞きします a2からa10まで 花 花 花 りんご りんご 水 コップ コップ コップ って並んでいるとします それをそれぞれ b1花 c2りんご d1水 e1コップ って種類を返したいのですが どうすればいいでしょうか? お願いします
264 :
複乳 :2009/11/17(火) 11:52:45
>>263 データ、フィルタ、フィルタオプションで
「重複するレコードは無視する」にチェック
265 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 12:58:14
266 :
263 :2009/11/17(火) 13:04:40
>264ありがとうございます オートフィルを使わないでa2からa10までのデーターを貼り付けただけで 自動的に出ないかなと思いまして。
267 :
複乳 :2009/11/17(火) 13:18:42
>>266 B2=(C2<>"")*1+MAX($B1:B$1)
C2=IF(COUNTIF($A$1:A2,A2)=1,A2,"")
D2=VLOOKUP(ROW()-1,B:C,2,0)
でB2-D2を下にオートフィル
268 :
242 :2009/11/17(火) 13:38:11
>267大変ありがとうございます 重複せずに出てきました。 もう一つだけですがその値をe1,f1,g1に返すことはできますか? 0 花 0 花 山 海 0 0 0 0 0 山 0 0 0 0 海 0 って返したいのですが? これが最終目標ですが。
269 :
複乳 :2009/11/17(火) 13:49:56
>>268 もー!情報の小出しはダメ、絶対><
麻薬よりダメ><
E1=INDIRECT("r"&COLUMN()-3&"c4",0)
で右にオートフイル
270 :
263 :2009/11/17(火) 14:02:01
>269何でもすいません 最初の質問で一応聞いておりますw 今やりましたら0000と0の連続で 花 山 海が返せません(^^;) 0 花 0 花 山 海 0 0 0 0 0 山 0 0 0 0 海 0 0 花 0 0 0 0 0 0 0 0 0 山 0 0 0 0 海 0 となってしまいます
271 :
複乳 :2009/11/17(火) 14:10:24
272 :
263 :2009/11/17(火) 15:16:14
>271 何でもすいません。 これが聞きたかったです。 いつもオートフィルでコピペしていたんですが 多いと大変でしたので。とにかくありがとうございました。
273 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 18:18:43
教えてください。 セル1にタイトルを、以降2と3、4と5などを一つの項目として表を作成しました。 セルにより、二行を結合しているところと各一行として使っているところがあるのですが、オートフィルタをかけるとセル2と4などと、偶数の行だけしか表示されません。 二行を一つとしてフィルターする方法があれば教えて下さい。
274 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 19:25:13
お助けください。 【1 OSの種類 .】 WindowsXPもしくは、ビスタ 【2 Excelのバージョン 】 Excel2003もしくは2007 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 手動がだめなら考慮 【5 検索キーワード 】 エクセル 参照したデータで並び替え 引用したデータを使って並び替え など =を使って他のセルから参照したデータを並び替えしたいのですが、 うまくいきません。 A B 1 な =A4 2 た =A2 3 さ =A1 4 か =A5 5 あ =A3 ↑ここで並び替えしたい 実際には、シート1から、シート2へデータを抽出し、並び替えて シート3へ移動という流れです。 元のデータは、それぞれのデータの位置が決まっているので動かせません。 これから夜勤なので、お返事は翌朝になります。 よろしくお願いいたします。
>>273 一行に一つの表を作り直したほうがあらゆる面でいい
どうしてもその表を使いたいならファイルをアップロードしてくれれば考える
>>274 エクセル2000でやったら何故か参照が=a7やREFエラーになった
原因はさっぱりわからん
B列をコピー、C列に値で貼り付けして並び替えてみては
詳しい用途が分かればもう少し適切な回答が出来るかも
276 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 21:29:17
=if(sum(()*()),"",") の場合で { }にするためにキーボタンはどれを押すんですか? 忘れてしまいました。
Shift Ctrl Enter
278 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 21:41:53
279 :
255 :2009/11/17(火) 21:57:12
>>256 ありがとうございます。
gyo=Range("A65536").End(xlUp).Row と書いてもおkですよね?
Sub ××() Sheets("sheet1").Range("a1").Select Sheets("sheet2").Range("a1").Select End sub こうすると本文2行目でエラーが出るのは仕様ですか? 1行目だけだと普通に動くんですが。
282 :
281 :2009/11/17(火) 22:20:03
あ、もちろん女です><
283 :
名無しさん@そうだ選挙にいこう :2009/11/17(火) 22:36:12
【1 OSの種類 .】 Mac OS X 10.3 【2 Excelのバージョン 】 Excel for Mac 2001 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 グラフのガンチャートの数値と対応させたいセルにLOOKUP関数(最終的に数値が出力される)を入力しているのですが、 出力された値がガンチャートに反映されません。 単にセルに数値のみを入力した場合は反映されています。 LOOKUP関数以外の関数でも試してみましたがやはり反映されません。 どうしたらガンチャートに数値を反映させることができるでしょうか、どなたか教えてください。 よろしくお願いいたします。
>>281 仕様。アクティブでないシートのセルを直接Selectすることは出来ない。
2行目の前に、Sheets("sheet2").Activateを入れればいける。
285 :
281 :2009/11/17(火) 23:15:17
281じゃないけど・・・ Activateって、Workbooksだけに使うのかと思ってた 今度、応用してみよう
287 :
274 :2009/11/18(水) 18:08:41
>>275 ありがとうございます。
そうなんですよ、2003でも、並び替えると変な表示になります。
なるほど、値でコピペすると並び替え出来ますね。
用途は、仕事で複数人で使い、尚且つ私は夜勤ですが、昼勤の人も使うので
関数とか分からない、エクセルも不慣れな人でも簡単で、より少ない操作で
出来ることがまず前提です。
内容は、シート1の固定された並び順の表から、件名と複数の数量データを
抜き出して、それを1枚に一件ごとの伝票に印刷する目的です。
この伝票を印刷するときに、あいうえお順に出来ると、作業がとても捗るのです。
以下余談
今は、シート1の表から、シート2の伝票シートで直接データを参照しているのですが
この伝票が80ページ(枚)分以上あり、伝票順(ページ)を並べ替えたり入れ替えたり抜いたり
加えたりがとても大変です。
また、データの入力は毎日あり、入力は昼勤、伝票処理は夜勤となるので
意思の疎通が図りがたく、出来れば上のような値でコピペし直すような作業も
無い方がいいのです。
なにしろ、昼勤としては今のままでも問題はないので、余分な作業が増えるなら
このままでいいじゃんとなりそうなので・・・
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 お世話になります。 現在、エクセルにてCSVを作成してます。 以前の仕様と変わってしまった為、改行を入れないとなんですが 全ての文章の頭に■や●などで文章の始まりであることを設定してあるので 置き換えで ■→<br>■ としてやれば問題ないのですが 長文の場合、数式が長すぎて出来ないと出てしまいます。 現在別のソフトでソースを開いて編集してますが なにか一括で編集できる方法はありますでしょうか? 宜しくお願い致します
289 :
274 :2009/11/18(水) 19:10:51
なんか
>>287 を読み直しているうちに、変に不慣れな人に並び替えをさせるより
VBAで自動並び替えをさせて、そこの数式を保護して触らせないようにした方が
安全だと思えてきました。
件名だけ並び替えて、数量データがそのままなんてことされると大変ですしw
また、そちらで煮詰まったらお伺いに来ます。
ありがとうございました。
>>289 君の不幸は職場にExcelがあることだな。
回り道に思えてもデータベースの勉強をすることをおすすめする。
実際に職場に導入することができなくても、覚えたことは無駄にはならない。
きっと今より上手くExcel使えるようになるだろう。
>>288 CSVに変換してからテキストエディタの置き換え機能を使えばいいのでは
>>290 いや、データベースを使うまでもない
ExcelVBAで十分対応可能
>>292 > ExcelVBAで十分対応可能
またVBA厨か。なかなか絶滅しないもんだな。
ピボットで可能なのか?w・・・(´ω`)
>>289 あ、うまく行った
>>274 の=A4を=INDIRECT("A4")というふうにかえればok。数式の結果で並び替えになる
理由はわからんが、エクセルの仕様か?
>>291 >現在別のソフトでソースを開いて編集してますが
>>292 そういうなら答えてやれ
「トリプルクリック ◆M4VDFNZnqs」でぐぐったら色々出てきたけどどうでもいいな
>>292 >>274 の
A B
1 な =A4
2 た =A2
3 さ =A1
4 か =A5
5 あ =A3
こんなデータ構造を放置したままにしてVBAならできるとかないわ。
こんな構造みた時点でなんかおかしいと気付かないと。
>>289 1.まずデータ入力用のブックは並び替えてはいけないなら
コピーして作業用のブックを作り並び替えればよい
2.データシートから伝票シートにデータを書き込んで
伝票シートを新規ブックにシートコピーする。
これを最後のデータまで繰り返し新規ブックに伝票シートをたくさん作る。
3.新規ブックをブックの印刷で一気に印刷する
↑こんなのをVBAで作ったことがある
注意点としてはシートをコピーしすぎるとメモリ不足でExcelが落ちる可能性がある
これはパソコンのメモリ不足ではなくExcelを起動したときに確保される作業用のメモリ不足
回避策としては10シートとかコピーするごとにブックの保存を実行すればメモリが開放されて
落ちなかったと思う。
>>297 うへー。ばかくせえ。
ここまで典型的なやつもめずらしい。
Excelで帳票を作るととても便利 書式が自由自在に設定できるし 印刷前に日付を変更したいとか、金額を変更したいとか ちょっとした修正がユーザーの意のまま
>>300 んなことはExcelに限った話じゃないわな。
最近着たばかりだからよくわからんが ここはExcelを愛してやまない人の集まりではないのか?
>>302 ここはお前のような野人が初めて訪れた文明社会。
車やエレベーターを見ても驚かないように。
正直それ以上発言されるとVBA厨の肩身が狭くなるので消えて欲しいんだ
来るところを間違えたみたいだ ここは「ビジネスsoft」だった 「プログラム」のほうにもExcelのスレがあったので そっちに移動します さいなら〜
>>305 それがいい。
要はプログラム組みたいだけなんだろ?
ここは解決をするところだ。
エクセルで用意したデータベースを、 そのブックを開かずに、エクセルで作ったのクライアントで vlookup的なことで参照することはできますか? VBAで無理なら、それが実現できる言語を教えてください。
>>307 VBAならADOでいけんじゃね?
ワークシート関数みたいに即効表引きしたいなら、グローバルは接続保っておいてイベントと組み合わせればいいんじゃないかな
309 :
307 :2009/11/19(木) 12:24:27
そうかADOか。 ちょっと勉強してみる。ありがとう!
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 オプションボタン 保護 解除など オプションボタンを使用し、Excelでアンケートを作成しました。 (メニュー>ツールバー>コントロールツールボックスを呼び出して、オプションボタンを作成しています。) シートを保護して、オプションボタンの選択と一部のセルへの記入のみできるようにしたいです。 ・編集したいセルのロックを解除 ・オプションボタンを選択し、右クリック>コントロールの書式設定>ロックを解除 ・オプションボタンが置いてあるセルのロックを解除 をおこない、「ロックされていないセルの選択」のみ許可してシートに保護をかけました。 セルに記入はできるのですが、オプションボタンの選択をしようとするとエラーメッセージが出てしまいます。 調べても出てこないので教えてください。お願いします。
>310 そのエラーメッセージをエスパーしろと?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 不可 数値が入ってる列から、0の値をオートフィルタで抽出し、VLOOKUPで 値を入れたあとに、その箇所だけ コピー → 値を貼り付け をしようとしても、 コピー領域と貼り付け領域が違うとメッセージが出てできません。 数行なら個々にやればいいですが、何十行もあると大変なので 何か対処方がありますか?
313 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 00:28:40
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2000 先ほど起動したまま置いておいたら、なぜかフリーズしていました・・・ どうしようもなかったのでタスクマネージャーで強制終了させたら 今度は起動しなくなってしまいました、まったく原因が分かりません データファイルのショートカットをクイック起動に置いてあるのでそれをクリック、 またはエクスプローからファイルをWクリックのどっちの方法でも駄目でした 直す方法はありますか? データは単なる一覧で、計算式は1ヶ所だけ1列の計を出した程度のものです こんなただのデータファイルを読み込ませただけで 更にただ置いておいただけなのにアプリが勝手にフレーズいる理由が全く分からないです そしてこんなことは長いこと(使用頻度は低いですが)使っていて初めての経験です
>>313 2002だと「ヘルプ」→「アプリケーションの自動修復」とクリックしていけば
修復出来そうだけど2000はそれあるかどうか…
それ以前にエクセルが起動出来なくなってしまったということなら、スタート
→すべてのプログラム→アクセサリ→システムツール→システムの復元…
で一日前を選択して復元させてはどうでしょうか。
…ってエクセルを越えた回答だけど。
>>312 とりあえずオートフィルタをすべて表示にさせておいて数値の列の対象の範囲を
ざっくり選択しておいてコピー → 値を貼り付け してみてはどうかな?
このスレしばらく見ないうちに変なコテハンが増えてて、 しかも例外なく珍回答続出で吹いた
318 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 14:01:41
せんせー! 質問です! Winxp、エクセル2002使ってます。 セルを右クリックするとコメント「コメントの挿入」で コメントを付けることが出来ますし、表示もされます。 そのセルにマウスカーソルを合わせると、コメントが出るのですが そのセルが右端にあり、コメントがさらに右側に出るので 画面に表示されません。 コメントが表示する時の位置を任意の場所に固定したいときは どうすれば良いのでしょうか m(_ _)m
319 :
複乳 :2009/11/20(金) 14:06:42
>>318 セルの右クリック、コメントの編集
その状態でコメントの枠をドラッグすると、コメントの位置を動かせるよ
>316 自称プロの素人にはよくあること。
321 :
318 :2009/11/20(金) 14:17:52
>>319 ありがとうございます m(_ _)m
コメントの編集で、左側にしても、カーソルを合わせると
右側に表示されます。
お使いのエクセルのバージョンは何ですか?
322 :
複乳 :2009/11/20(金) 14:50:54
323 :
318 :2009/11/20(金) 14:56:44
>>322 ありがとうございます m(_ _)m
難しそうですが、やってみます m(_ _)m
324 :
318 :2009/11/20(金) 15:08:25
325 :
複乳 :2009/11/20(金) 15:13:06
>>324 マクロの登録すれば終わりのはずだよ
登録して、コメントを
>>319 の要領でうごかせば固定されるとおもう
Comtext = Cel.Comment.Text
の行が
@元コメントのテキストの内容を変数にセット
にあたる内容
326 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 15:25:02
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 使えないです 【4 VBAでの回答の可否】 【5 検索キーワード 】 こんにちわ まだexcelを使い始めたばかりでどんな事ができるのか判らないのですが どんどん更新されていくHPから特定のキーワードを自動で収拾してexcelでデータベースを作る事は出来ますか? それにはVBAというのを覚える必要があるのでしょうか? よろしくお願いします。
>>326 「どんどん更新されていくHP」がどういうものかによって対応が違ってくるかな
どっちにしろVBAがないと辛いし、毎日情報を自動で収集したいんであれば、Excelを使うこと自体が向いてないかもね
328 :
318 :2009/11/20(金) 16:02:38
>>325 ありがとうございました m(_ _)m
329 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 19:14:54
WinXPです。エクセルを二重起動させたいのですが どこから設定すれば良いのでしょうか? 教えてくださいm(_ _)m
330 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 19:32:56
>>329 >>1 のテンプレ使ってどういった用途で二重起動させたいのかを詳しく書いてくれ。
332 :
名無しさん@そうだ選挙にいこう :2009/11/20(金) 19:47:22
>>331 THX 了解しました。
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】
二重起動をしない方法は書いてましたが、二重起動にする方法は
書いてませんでした。
二重起動したい理由は、デュアルモニタで両方の画面で
違うエクセルファイルを同時に見たいのです。
よろしくお願い致します m(_ _)m
>>333 やってみます。 ありがとうございました!
>>332 それを「二重起動」と呼ぶのか・・・素人コエ〜w
ウザいやつ沸いてるな
337 :
335 :2009/11/20(金) 20:45:57
>>335 だよなぁ〜
用語くらい正しく使えっての。
340 :
312 :2009/11/20(金) 22:59:25
>>315 ざっくり選択というのは、対象外のセルも含めるってことですか?
他のセルには数式が入ってるので、対象になってるセルだけ値にしたいんです。
>>335 これを二重起動と呼ばないならなんと呼ぶのでしょうか?
教えてください
>>340 んー、VBAが不可なら無理
オートフィルタの後にコピーすると、不可視セル(非表示セル)が含まれない
その後同じ領域を貼り付けると当然、セル範囲が違うのでエラーになる
コピーした後、その値をvlookupで引っ張ってくるのがいいんしゃないかな
じゃなきゃVBA
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 mid 別リストにある(ここでは仮にA1セルにあるとします)社員番号なんかを1文字ずつ枠(セル)の中に入れたいのですが、 一番左のセルに「=MID(A1,1,1)」とやって、 左から2番目には「=MID(A1,2,1)」などと、1つずつ入れるしかないのでしょうか? A1を絶対参照にしてコピーすると自動的に他の枠もうまく入ってくれるかなと思ったんですが。 VBA使うしかないですかね。
344 :
名無しさん@そうだ選挙にいこう :2009/11/21(土) 10:48:42
>>342 =MID($A$1,COLUMN(a1),1)
右に引っ張る
345 :
名無しさん@そうだ選挙にいこう :2009/11/21(土) 10:58:03
>>341 何にしても別なファイルを開くのだから「二重」ではないわな。「複数」とか「並べて」とかならわかるが。
>>341 普通はSDI/MDIだよ。
勉強になったかな?
君は3つ開いたら3重起動って言うのかなw
>>345 Excelアプリを一つしか開いてなければその中に複数のブックが表示される
アプリを二つ起動したいということだろ
349 :
名無しさん@そうだ選挙にいこう :2009/11/21(土) 15:43:59
>>345 「二重」がわからなくて
「複数」と「並べて」がわかるのはなんで?
お?馬鹿にされた反撃かw
352 :
342 :2009/11/21(土) 17:40:16
>>343 さん
>>344 さん
できました。どうもありがとう。
B1やC1のセルは空白なのに何でこれを参照するんだ??
と思いましたが、なるほど、列番号さえ増えればよいわけですね。
勉強になりました!
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel97-2003 【3 VBAが使えるか .】 ? 【4 VBAでの回答の可否】 ?? 【5 検索キーワード 】 桁を入れたいのですが、セルの書式設定で桁を入れることができるのですが 前に▲を入れると、桁が消えてしまいます。 ▲12,345 みたいに表示させたいのですが。 12,345は出るのですが ▲をつけると、▲12345となってしまいます。 どのように設定すればよいのでしょうか?
>>353 様 ありがとうございます。ユーザー定義で"▲"#,##0を入れてみます!!
>>353 当方2002ですが、書式→数値→▲1234としていって”桁区切り(、)を使用する”
というところにチェックを入れるとお望みの表示になりましたが。
>>353 常に▲を入れるんじゃなくて、マイナスの場合だけ入れたいんだろ?
はっきりそう書けよ。
マイナスを▲で書くバカwwwww
経理実務を知らないひとがいるな
まあ実務は知らないにしても、 セルの書式設定→数値のとこすら見たことないレベルなのに、 一丁前なのは暴言吐くことだけってのは恥ずかしいな。
計算とかではなく、手書きで▲12,345と入れるにはどうしたらいいですか? 桁区切りをチェックしてもできませんでした。
363 :
356 :2009/11/22(日) 06:57:48
>>361 ”▲”ってマイナスの意味だってことは知っている?
入力時に”-12345”と入力すれば▲12,345と表示されるはずですが。
(ちなみに普通に"▲12345"と入力しても私の環境では問題なく”▲12,345”
の表示でしたが。)
手書きの意味がよくわからないんだが
>>364 それだけエクセルのスキルが低い人と察するべき。
>>356 これは知らなかった
>>364 「▲12345と入力していますが桁区切りが表示されません」
の意味かと
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 ある製品の在庫の表の作成を仕事にしています。 今まで、作成しているデータは、 縦列は製番ごと(&大きなくくりとしての機種) 横列は、 3月末の在庫高、 3月末から4月末にかけての在庫高の増減値、 4月末の在庫高… てな感じでならんでおり、 そこからついでにSUMIFで機種別増減額の表などを作っていました。 来月から「増減の理由」別の増減額の表も作れと言われました。 したがって「増減の理由」を横列に作らないといけないのですが、困ったことがあります。 例えば、ある製番が先月末から今月末にかけて300万円在庫高が減ったとしても、 その増減理由は、200万円が他の製番への転用、100万円が廃棄 といった具合に分かれることが多々あります。 1つの製番に2行あてがうということも考えられますが、 あくまでデータ作成の主目的は製番ごとの在庫高の月次推移を見ることなので、2行にわけることはしたくありません。 どうにかして1つの製番に1行あてがうことを守った上で上記の目的を達成することはできますか?
368 :
二足歩行 :2009/11/22(日) 11:16:11
2007を使って表計算をしてるのですが、 別のシートからそのままの数値をもってくることはできますか? 多数のシートの合計を出したいのです。 教えてください。
>>367 そういう場合、増減理由ごとに行を分けるのが正しい。
増減理由ごとに増減額を入れる列を分ける方法もあるけど、自分ならやらない。
前者ならピボットテーブルに使いやすいし、後者は理由が増えると収拾がつかなくなる。
370 :
367 :2009/11/22(日) 11:44:35
あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ることなんです。 だからそれはできません・・・
371 :
367 :2009/11/22(日) 11:46:11
>>370 >あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ることなんです。
>だからそれはできません・・・
言ってることがめちゃくちゃだな。
主目的は「あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ること」
なんだろ?
なんで「だからそれはできません・・・」
になるんだ?
>367 横列に増減理由を入れる列を増やして、それで集計したらどうなの? 3月末の在庫/増減/理由・・・て感じで
>>367 増減ごとに行分けてから、元の表のようなものを加工して作るべきだなぁ
ただ何かの理由(アホな上司の意向等)でどうしても変えられないなら
最終列に理由をまとめて「1/1日、○○の理由で100万増加。1/5××の理由で50万減少・・」のように書くしかないかと
ちなみにalt+enterでセル内改行できるが行幅が太くなると見難くなるかな
>>368 同じフォルダのaaaというブックを参照してければ
=[aaa.xls]Sheet1!$A$1
のようにする
他のブックの参照はブックをまとめる等して極力避けた方がいい
>>367 一つの製番にたいして複数の理由を集計するんなら、理由に着目す限り
それらのセルが必要。あらかじめ理由が限定されているなら
横方向に理由の列を用意しておけばいい。"廃棄"、"転用"、"その他"
理由が限定できない、あるいは横に伸ばしたくないらない
一つの製番で複数の行を入れるしかない。
その場合、別途集計用のシートなり、ピボットなりでまとめ直せばいいんじゃないの。
377 :
367 :2009/11/22(日) 12:04:15
>>372 >>369 の言うように、増減理由ごとに行を分けるとすれば、
上の例では(例えば製番がA01だとすると)
製番 3末残高 3‐4増減額 増減理由 4末残高 4−5増減額 …
A01 200万円 −200万円 転用 0万円
A01 200万円 −100万円 廃棄 0万円
ってことになるじゃないですか
あくまで元データは
A01 300万円 −300万円 300万円
と表示するよう指示されているんです(増減理由は元データでは必ずしも表示しなくてもいい)
この元データに何らかの加工をして、プラスSUMIFか何かを使って「ついでに」増減理由別増減額のマトリックスを作りたいと言っているんです
>>377 例えばこうしろ。
年月 製番 数量 理由
200903 A01 1000 繰越
200904 A01 -200 他の製番への転用
200904 A01 -100 廃棄
200903 B02 800 繰越
200904 B02 -100 他の製番への転用
200904 B02 -50 廃棄
379 :
378 :2009/11/22(日) 12:20:02
>>377 の例に合わせたデータにするとこうだな。
年月 製番 数量 理由
200903 A01 200 繰越
200904 A01 -200 転用
200904 A01 -100 廃棄
このデータからピボットテーブルで製番ごと理由ごとの「累計」を年月順に求めればいい。
>>367 にそこまで求めるのは酷だな。理由別に列を増やすのがいちばんかもしれん
>>377 事務仕事で使う計算なんてほとんどがグループ別の集計。
頭の中にクロス集計のモデルを構築しておくとよい。
問題をそのモデルに当てはめることができれば簡単に解決できる。
382 :
367 :2009/11/22(日) 14:00:27
みなさんありがとうございます。 とりあえず僕が当初やりたいと思ってたことはできないみたいですねw 皆さんの意見を取り入れて、工夫していきたいと思います
素人がコテ使うってどうなの?
名前のとおりにリカバリーしたらEXCELやWORDが消えてしまった。 誰か助けて下さい
名前のとおりにリカバリーしたらEXCELやWORDが消えてしまった。 誰か助けて下さい
>>384 officeと書いてある箱が家のどっかに転がってると思うんで、
その箱の中からCD-R取り出して、インスコして下さい。
>>385 おちついてバックアップしておいたファイルを復元すればよろし。
初心者スレから誘導されて来ました。 Cドライブの空きが700MBを切ってきたので、OfficeXPをDドライブに入れようとしたら入れられませんでした。 HDDは1基で、C、Dとパーティションを切ってあり、Dドライブの空きは13.5GBです。 Cドライブ以外にはインストールできないのでしょうか? 【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel2002(OfficeXP)
>>388 インストール先を通常CドライブのところをDドライブに変更してインストール
していけばいいかと。
インストール時に安易に”次へ→”をどんどん押さずに注意して確認しながら
変えていけば良いかと。
390 :
389 :2009/11/22(日) 16:16:18
ただ、出来ればアプリケーションとかはCドライブへ、データ類はDドライブ へと(元々の使い方として)分けたほうが良いかと思う。
>>839 Dに変えるとインストールできないんです。
アプリはC、データはDにしてるんですが、どう工面してもCの空きが少なくてOfficeを入れ直そうかと思った次第です。
>>391 CドラのofficeをアンインストールしてからDドラに入れなおしても駄目?
>>392 だめでした。
とりあえず、他のアプリを削除して空きを1.1GBにしました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】はい 【4 VBAでの回答の可否】可 指定したフォルダ内のファイルを順次開いて、ファイル名がアンダースコア"_"で始まるものは それを削除したファイル名に変え、そうでないものは上書き保存したい。 知りたいこと 1."_"を削除して保存するには?( _A001.xls を A001.xls で保存するには?) 2.フォルダ内から"_"で始まるファイルを削除するには? C:\Data _A001.xls ←ファイル名を変えて保存 _A002.xls ←ファイル名を変えて保存 A003.xls ←上書き保存 ↓ C:\Data A001.xls A002.xls A003.xls _A001.xls ←削除する _A002.xls ←削除する
>>394 1 ファイル名からLeftとかで1文字切り出して"-"かどうか比較する
2 Killで削除してから新規ファイルとして保存する
3 それ以外はそのまま上書き保存
いちいち開かないでもリネームですむ話 FlexibleRenamerとか便利よ
>_A001.xls ←ファイル名を変えて保存 ファイル名を変えるだけでなく 変更されたブックを保存+ファイル名の変更 ということか?
401 :
名無しさん@そうだ選挙にいこう :2009/11/23(月) 16:44:19
初心者にはよい勉強教材だったけどさ・・・ もうちょっと素晴らしいコードは他の人で。 Sub test() Dim wk1 As Worksheet, wk2 As Worksheet Dim i As Long Dim rr As Range Set wk1 = Worksheets("sheet1") Set wk2 = Worksheets("sheet2") i = 3 For Each rr In wk1.Range("e2", wk1.Cells(wk1.Rows.Count, 5).End(xlUp)) If rr = "○" Then rr.Offset(0, -4).Resize(1, 4).Copy wk2.Cells(i, 2).PasteSpecial Paste:=xlPasteValues i = i + 1 End If Next rr Application.CutCopyMode = False wk2.PrintOut End Sub
402 :
394 :2009/11/23(月) 16:48:13
>>396 いちいち開いて、全てのファイルを処理するんですが・・・
>>397 そういうことです。
一旦保存して削除するしかないですかね?
403 :
名無しさん@そうだ選挙にいこう :2009/11/23(月) 16:51:15
やべ、E列見てたw このリクエストでは間違いではないけど、厳密にはA列見ないとだめだった コードは書き直さないけど。
404 :
399 :2009/11/23(月) 16:55:37
>>400 すいません、2時間コードと格闘した末消してしまいました。
>>401 わざわざ作ってくださってありがとうございます。
今少し用事があり試せませんが、もし疑問があるときはまたご教示くださいm(--)m
405 :
名無しさん@そうだ選挙にいこう :2009/11/23(月) 16:56:42
数式のとちゅうで”E”がでてるくんだが nnkr?
406 :
399 :2009/11/23(月) 16:57:44
>>403 For Each rr In wk1.Range("e2", wk1.Cells(wk1.Rows.Count, 5).End(xlUp))
ここのことでしょうか?
407 :
名無しさん@そうだ選挙にいこう :2009/11/23(月) 17:00:07
>>406 うん。間違いではないんだけどね。
やはりきちんとデータが入っている列を見たほうがいい。
ってことで、
For Each rr In wk1.Range("a2", wk1.Cells(wk1.Rows.Count, 1).End(xlUp))
If rr.Offset(, 4) = "○" Then
rr.Resize(1, 4).Copy
> 一旦保存して削除するしかないですかね? それで良くね?ここまでの解答もらってる組み合わせで多分作れるじゃん頑張れ。
409 :
名無しさん@そうだ選挙にいこう :2009/11/23(月) 19:25:57
関数を使いたいのですが、本屋に行っていろいろ入門書を見ても、わかりません。 ヨドバシにいったら、ソースネクストが出しているエクセルの関数学習ソフトがあったんですが、 超ド初心者のわたしでも、わかるでしょうか? OS:WinXP バージョン:2003
>>409 まっ、とりあえずSUM関数と IF関数を使えるようになればいいよ。
その後面白くなって欲が出てきたら他の色んな関数覚えればいいんじゃないかな。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 リネーム フォルダ内に、社内01.doc〜社内47.docファイルがあります。 エクセルでファイル名(sheet1)とタイトルを管理していて A1に 社内01 B1に 社内合理化委員会開催の通知書 A2に 社内02 B2に セールスマネジメント研修会開催の通知書 … A47に 社内47 B47に ・・・・・・・・・・・・・・・・・・・・・・・・・・稟議書 という具合に管理しています。 私がやりたいのは、 @フォルダを見て、ファイル名から内容がわかるように リネームをしたい 社内01.doc→社内01(社内合理化委員会開催の通知書).doc できればVBAで A エクセルからリンクを張りたいです(A1をクリックしたら) 社内01(社内合理化委員会開催の通知書).docが起動するように どれも手作業でコツコツやればできますが、マクロやVBAでサクッとできたらいいなと考えています。 @Aは別々にできるようにしたいです。 ご教授お願いします
>>412 @の方はリネームソフト使った方がいいよ。使ったことないうちは敷居が高いかもしれないけれど一度使えばなんてことない。
Aはふくちちさんに任せるかw
>>412 先に2
C1=HYPERLINK(A1&B1&"doc.",A1&B1)
が楽だと思う。
VBAはマクロの記録で作ってみて。
無理で、どうしてもマクロがいいなら作ってみるけど
次は1↓。拡張子の表示をしておいた方がいいかもしれない。
Option Explicit
Dim gyo, i
Sub SEX()
gyo = Range("A10000").End(xlUp).Row
ChDir ThisWorkbook.Path
For i = 1 To gyo
On Error Resume Next
Name Cells(i, 1) & ".doc" As Cells(i, 1) & Cells(i, 2) & ".doc"
Next
End Sub
複乳ってなんだ? おっぱい1個の人なんていねーぞ?
416 :
394 :2009/11/23(月) 23:25:08
>>408 完成しました。
アドバイスありがとうございました。
>>416 おーそれはよかったよかった。
ここ来てる人でおみやいりな人わりといるから気になるのよね。
たぶん副乳って書きたかったんだろ おれのわきばらにもある
419 :
412 :2009/11/23(月) 23:49:30
>>414 ありがとうございます
これから作成します
420 :
412 :2009/11/24(火) 01:55:19
>>414 できました ありがとうございます
@
ひとまず関数をぶち込んだだけですけど各関数の意味を調べます。
Aについては
C1に作業列?を作る方がらくですね doc. →.doc の試練がありました
余力ができたらVBAも作ってみます
会社で使うマクロなんですが、ある特定の人しか動作しない仕掛は作れますか?
>>421 パスワードでも設定しとけ
そいつだけに教えればいい
>>420 お、気づいたか
完全にミスしてただけなんだけどね。ハハハ
Cり作業列も言い忘れてたよごめんよー
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 回数 (回数から計算した)データ 1 10 2 15 3 20 4 25 5 30 6 25 7 20 8 15 9 10 10 5 このような形のデータから、「データが最大になる回数」を別のセルに表示させたいです。 このデータの例で言うと、 最適回数 5 最大値 30 といった感じです。 最大値の方はMaxを使って簡単に出来たのですが、それに対応する回数を出力させる方法がわかりません。 ちょうどいい関数等がありましたら教えてください。
426 :
複乳 :2009/11/24(火) 14:13:51
>>425 =INDEX(a1:a100,MATCH(MAX(B:B),B:B,0))
列をコピーしてvlookupや、offset、indirectでもできる気がする
あとは=IF(COUNTIF(B:B,MAX(B:B))>1,"最大値複数アリ")
などで最大値が複数ある状態に対応してみるのもいいかもしれない
>>421 IPアドレスで弾くw
見た目は使えるのに、最後の最後でエラー出してメッセージを出すとかやってるよw
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ちょっとだけ 【4 VBAでの回答の可否】 可 A列に連番、B〜E列にはBook1からのデータをコピペ、F〜I列にはBook2からの データをコピペして、名前順に並べてあります。 A B F 1 ABC ABC 2 BCD CDE 3 DEF DEF 4 FGH EFG 5 GHJ FGH これをB列とF列の文字が隣り合うようにするには、どうすればいいですか? A B F 1 ABC ABC 2 BCD 3 CDE 4 DEF DEF 5 EFG 6 FGH FGH 7 GHJ
>>429 概念的には一度B列とF列を一緒にしてからそれを元に各B,F列へ振り分け
る方法が良いかと。
431 :
429 :2009/11/24(火) 23:06:51
>>430 省略して書いたので誤解されてるようですが、データはB列とF列だけではなく、
B〜E列とF〜I列がそれぞれ1行ずつの塊になっています。
432 :
430 :2009/11/24(火) 23:20:12
ちょっと漠然として判りにくかったかも。
1、まずBデータとFデータをどこか一つの列に一緒に入力(コピペでいいよ。)
2、1デ入力した値で重複するデータをなくす。
3、2を元に
>>429 下図のように合致するデータを各行をあわせてB列および
F列に抽出する。
433 :
430 :2009/11/24(火) 23:32:17
>>431 ご指摘の”一連の塊”についてはLOOKUP関数で対応できます。
質問です。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 (ヘルプでの)検索キーワード】検索 表1として 日付 単価 金額 20090101 1500 15000 20090101 2000 24000 20090105 1500 4500 20090110 1550 1550 というのがあります。 これを別表に 20090101をA1に入れると A2〜A3に表1の20090101の単価を昇順に、 対応する金額をB2〜B3に入れるようにしたいのです。 VLOOKUPやDSUMなど使おうとしましたがうまく行きません。 よろしくお願いいたします。
435 :
429 :2009/11/24(火) 23:55:12
>>432 やっぱり勘違いされてますね。
重複したデータを削除してはいけません。
小出しするつもりはないですが、B〜E列のデータとF〜I列のデータを比較したいんです。
429の例でいうと、それぞれのデータ行に増減があり、B列とF列をキーにして
両者を同一行で比較したい。
436 :
430 :2009/11/25(水) 00:07:22
>>435 言葉足らずですみません。
>>432 の2、1デ入力した値で重複するデータをなくす〜というのは二つのうち
一つ消す(または統合して一つに絞る)という意味で書きました。重複データを
全部消してしまうという意味ではありません。
437 :
429 :2009/11/25(水) 00:45:02
>>436 何度も書かせて頂きますが、1つでもデータを削除してはいけません。
「比較」って意味が分りますか?
438 :
430 :2009/11/25(水) 01:01:09
>>437 あのですね、
>>429 の中でいうとABCというのがB列とF列にそれぞれ一つずつ
あるでしょ、
>>432 の2ではそれを”一つのキーワード”として使用するための
方策として二つあると不便なのでその”キーワード”ごとにまとめようという
ことなのです。
そして3ではそれを再度B列とF列(と各その関連する塊)へ
>>429 下図のような
形へと再配列させて容易に「比較」出来るようにしようって話です。
結果、あなたが心配なさるような”削除”ではないのでご心配なく。
>429 Sub macro() Dim i As Long Dim value1 As Integer Dim value2 As Integer i = 1 Do If Cells(i, 2) = "" Or Cells(i, 6) = "" Then Exit Do value1 = Asc(Left(Cells(i, 2), 1)) value2 = Asc(Left(Cells(i, 6), 1)) If value1 < value2 Then Cells(i, 6).Insert Shift:=xlDown If value1 > value2 Then Cells(i, 2).Insert Shift:=xlDown i = i + 1 Cells(i, 1) = i Loop End Sub
440 :
複乳 :2009/11/25(水) 09:08:36
>>434 コピーして並び替え
VBAならそれをマクロの記録
関数はめんどい
セルA1 に "A"(太字、赤色) セルB1 に "B"(斜字、青色) とあって、C1 に =A1&B1 とすると "AB" と表示されますが、 この時、色等の属性もそのまま結合することは可能ですか?(C1"AB"の"A"は太赤・"B"は斜青になる)
443 :
441 :2009/11/25(水) 12:32:52
>>440 回答ありがとうございます。
そんなに難しいものだったのですか。
自分なんかの手に負えるものじゃなかったんですね。
諦めて手作業で頑張ります。
>>444 マクロの記録覚えて全自動化すればいいよ
=A1 =A2 =A3 =A4 ・・・ と入力した行があるとして、 ドラッグして2行目と3行目を入れ替えると =A1 =A3 =A2 =A4 ・・・ のように数式も変わってしまうのですが、 数式はそのまま維持するように移動することはできないのでしょうか?
447 :
複乳 :2009/11/25(水) 16:55:07
>>446 移動させたらそうなる仕様だからねぇ
もしフォントなどの書式だけ移動させたいなら、
コピーしてはり付けするときに右クリックで「形式を〜」で書式を選択すると良い
もし参照してるところを変えたくないというなら
=A1〜=A4を全て
=INDIRECT("a"&ROW())
に変えると変わらないといえば変わらない
448 :
446 :2009/11/25(水) 17:30:31
>>447 ありがとうございます。
関数で工夫するしかないんですね。
450 :
複乳 :2009/11/25(水) 17:48:06
451 :
449 :2009/11/25(水) 18:25:14
質問です。 他ブックのパスを指定する時、例えばそのファイル名が [社員コード][社員名].xls だった場合、 [社員コード]を変数にし、[社員名]は無視してパスを指定したいです。 そのようなことは可能でしょうか??
>452 用語の使い方が変なのでよく分からんが多分可能。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 たぶん 【4 VBAでの回答の可否】 可 CDR1 CD-R1 CDR2 CD-R2 CD-R3 CD-R4 これを並び替えると CD-R1 CD-R2 CDR2 CD-R4 CDR1 CD-R3 になりますが CDR1 CDR2 CD-R1 CD-R2 CD-R3 CD-R4 のようにするにはどうすればいいですか? データは5000行くらいあります
456 :
452 :2009/11/25(水) 20:35:24
ごめんなさい何か質問の仕方が悪かったみたいですね。。。 簡単に言うと、ファイル名に特定の文字列が入っているファイルを、 VBAで開きたいんです><
>454 置換すれば?
>>454 B1=(MID(A1,3,1)="-")*1
でB列で並び替えると上半分にハイフンありが集まるのでグループで分けた後、
コピーしてはりつけとか
>>456 どこにも開けるなんて書いてないじゃないか><。。。
つーか普通に&で結合すればok
Sub Macro4()
Dim sine
sine = "[社員コード]"
Workbooks.Open Filename:=sine & "a.xls"
End Sub
459 :
452 :2009/11/25(水) 20:43:36
sine....死ね・・・(;ω;)
shineのうち間違いだよきっとそうだよハハハ
461 :
454 :2009/11/25(水) 20:50:05
>>458 簡単にできました
ありがとうございます
462 :
429 :2009/11/25(水) 23:57:57
>>439 ありがとうございます。
If value1 < value2 Then Range(Cells(i, 6), Cells(i, 9)).Insert Shift:=xlDown
If value1 > value2 Then Range(Cells(i, 2), Cells(i, 5)).Insert Shift:=xlDown
これで思い通りになりました。
463 :
名無しさん@そうだ選挙にいこう :2009/11/26(木) 07:52:02
SUBPRODUCTで、3つの条件を指定しても ちゃんと全ての条件を満たす行数をカウントして くれないんですが、原因として考えられるのは 何でしょうか?
数式が間違っている
SUBPRODUCTって何?
466 :
複乳 :2009/11/26(木) 12:18:44
入力間違い若しくはユーザー定義関数でしょう
windowsXPです エクセル2003以前の物を安く購入したいのですが、どこかに打ってませんか? PCショップ回ってみましたが2007しかありませんでした あとPCソフトって型落品が安く売られるってことはほとんど無いんでしょうかね? サブ機用に98か2000辺りを入れたかったのですが、これも売ってませんでしたし
468 :
名無しさん@そうだ選挙にいこう :2009/11/27(金) 11:15:01
>467 中古PC(メーカー製)を探したらどうですか? たいていOfficeもバンドルしてあるので、リカバリCDの中にもOfficeが含まれている場合が 多いと思う。 ただし、中古PCショップがOSだけ独自に再インストールして、K-Officeを入れてる場合も あるから要注意。
469 :
名無しさん@そうだ選挙にいこう :2009/11/27(金) 11:55:14
>>468 なるほど、そんな手もありますね
ありがとうございます
アホか バンドル品はそのハードウェアとのセット商品だ えらそうに犯罪の手口教えてんじゃねーよ糞が
マクロでChDirを実行したあと、元のディレクトリへ戻すにはどうすればいいですか? 例えば、元のディレクトリが C:\新垣結衣 になってるとき、マクロで ChDir C:\綾瀬はるか に変えたら、 C:\新垣結衣 に戻したい。 ChDir C:\新垣結衣 と書くのではなく、アクティブになってたディレクトリ名 "C:\新垣結衣" を 導く方法を教えてくださいです。
>>471 カレントディレクトリを変数に保存しとく
>>472 いや、だからその方法を知りたいんだけど・・・
474 :
名無しさん@そうだ選挙にいこう :2009/11/27(金) 23:53:24
誰か助けてくれ(´・ω・`) Win XP Execel2003 環境なんだが ハイパーリンクをオートフィルさせたときにリンク先も 01.xls → 02.xls → 03.xls → ・・・ とさせたいんだ 普通にオートフィルさせると表示名だけが01→02→03…となるだけだよな… リンク先は別のExcelのファイル。 項目が5000近くあるから手打ちじゃいつまでもおわらん(´・ω・`) それでできるのかも知らんがマクロは使わない方向で頼む(´・ω・`) 誰か助けてくれ…(´・ω・`)
>>473 VBAだったら↓みたいになるけど・・・
Dim a As String
a = CurDir
ChDir "C:\綾瀬はるか"
ChDir a
>>474 =HYPERLINK(ROW()&".xls","名前")
A1に設定すれば同じフォルダの1.xlsが開くはず(01.xlsではない)
別のエクセルファイルが同じフォルダならこう
後はファイルの数字がどういう風な規則かによるね
最初と最後のファイル名、あとフォルダ名教えてくれればもう少し詳しく解説する
ついでにいうと私は関数以外の設定でVBAを使わない方法は知らない
478 :
474 :2009/11/28(土) 03:36:50
複乳氏 すまねぇ、ほんと助かる(´・ω・`) リンクさせたいxlsファイルは別フォルダにあるんだ その別フォルダには001.xls〜999.xlsって名前で999個リンクさせたいファイルを用意してある フォルダ名は"TEST01"フォルダの場所は C:\Documents and Settings\ユーザー名\デスクトップ\TEST01 ここに置いてある 最初の書き込みからずっとググルだの別関数の応用でなんとかなるか?と試してるが まったく解決の糸口が見つからん(´・ω・`) なにとぞよろしく頼む(´・ω・`)
>>478 A1=HYPERLINK("C:\Documents and Settings\名前\デスクトップ\test01\"&TEXT(ROW(),"000")&".xls",TEXT(ROW(),"000"))
下にオートフィル
480 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 14:37:51
if関数で結果が trueの場合もfalseの場合も返り値を文字列で指定。 数式の結果が文字列、AとかBとかC、で表示されているにもかかわらず 「0」ってセルに表示される。 なぜだ? if関数のネストは7以下、 ただしcountifを多用してるのでそれらを合わせると「if」の数は20ぐらい。 原因を見つけ出す方法内かな?
482 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 14:57:57
>>481 ファイルアップロードするか数式みせてもらえれば見るよ。暇で死にそうだ
書式設定で「"0";"0";"0";"0"」になってれば何入力しても強制的に0を表示させることはできるけど
そんなことはしてないよねぇ
484 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 16:03:24
485 :
481 :2009/11/28(土) 16:03:40
>>482 >>とりあえず式を分解。
だよな。
>>483 >>そんなことはしてないよねぇ
してねぇ〜。
>>暇で死にそうだ
Excel職場なんだ。それに苦手なWindowsだし、バージョンも興味ないし、、、
家のはMac2008、OS共に英語仕様。
月曜日以降暇だったら見てよ、おねがい。
486 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 17:47:45
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 集計 よろしくお願いします 時刻 売上 1月1日01:00 10 1月1日02:00 10 1月1日03:00 20 1月1日04:00 30 1月1日05:00 10 1月1日06:00 20 ・ ・ ・ のように1時間ごとに集計した表を 以下のように3時間ごとに集計するにはどうすれば良いですか? 1月1日01:00 40 1月1日04:00 60 ・ ・ ・
=CEILING(A1,"3:00")で3時間ごとに区切ってからピボットとかDB関数とかで適当に集計
488 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 18:21:23
ありがとうございます。 =CEILING(A1,"3:00")で3時間ごとに区切った後の集計の方法を 詳しく教えてください。 よろしくお願いします。
ピボット使えよ、ピ ボ ッ ト !
490 :
487 :2009/11/28(土) 20:36:54
データーが多いので関数の方がいいと思うのですがどうでしょうか?
好きにしてください
>>490 なんでデータが多いと関数がいいと思ったの?
493 :
487 :2009/11/28(土) 20:56:39
関数の方がコピーが使えるからなんですが違いますか? 初歩的な質問ですみません。
>>493 ほんとに初歩的だね。
たくさんのデータを取り扱う方法はいろいろあるよ。
ところであなたは
>>487 なの?
495 :
486 :2009/11/28(土) 21:22:47
間違えました。すみません。 関数で集計するなら、何を使えば良いですか? よろしくお願いします。
>>495 C2=ROUND(CEILING(A1,"3:00"),5)
D2=IF(MOD(ROW(),3)=2,SUMIF(C:C,C2,B:B),"")
でc1d1選択して下にオートフィルでD列でオートフィルタで「空白以外」
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数式の質問です。 C、E、G、I、K、M、O列に数値、D、F、H、J、L、N、P列に日付、Q列にC〜O列の合計、 R、T、V、X、Z、AB、AD列に数値、S、U、W、Y、AA、AC、AE列に日付、AF列にR〜AD列の合計、 AG、AI、AK、AM列に数値、AH、AJ、AL、AN列に日付、AO列にAG〜AM列の合計+ C〜O列の合計+R〜AD列の合計をしたいですが、次の3つをもっと簡素な書き方で出来ますか? 1.C〜O列の合計 2.R〜AD列の合計 3.AG〜AM列の合計+C〜O列の合計+R〜AD列の合計 今は、単にセルを足して=C1+E1+G1+I1+K1+M1+O1と書いてます。 よろしく御願いします。
498 :
497 :2009/11/28(土) 22:08:30
すいません。訂正です。 1.C〜O列にある数値の合計 2.R〜AD列にある数値の合計 3.AG〜AM列にある数値の合計+C〜O列にある数値の合計+R〜AD列にある数値の合計
499 :
486 :2009/11/28(土) 22:10:11
ありがとうございます。助かりました。
>>497 1
=SUMPRODUCT((C1:O1)*(MOD(COLUMN(C1:O1),2)=1))
2
=SUMPRODUCT((R1:AD1)*(MOD(COLUMN(R1:AD1),2)=0))
AG-AM
=SUMPRODUCT((AG1:AM1)*(MOD(COLUMN(AG1:AM1),2)=1))
3はこれらを全て足す
後付け加えると、表の構成が多分悪い
日付はA列数値をB列にして縦に並べるのが、良い
502 :
486 :2009/11/28(土) 22:38:00
もう一つ教えていただきたいのですが、 3時間ごとの最大値を関数で求めるにはどうすれば良いですか? よろしくお願いします。
504 :
486 :2009/11/28(土) 22:53:32
IF(MOD(ROW(),3)=2,max(C:C,C2,B:B),"") では上手くいきません。 どのようにすれば良いですか?
>>504 D2=IF(MOD(ROW(),3)=2,max(c2:c4),"")
と思う。試してないけど。範囲を絞ればok
506 :
486 :2009/11/28(土) 23:18:32
すみません。 「MOD(ROW(),3)=2」の2は 例えば6時間ごとの集計でも変えなくても大丈夫ですか? たびたびすみません。
507 :
497 :2009/11/28(土) 23:19:04
>>501 ありがとうございます。
表の構成は、価格(数値)を支払う予定日を添えてるので、日付をA列B列に書けばいい訳ではありません。
509 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 23:23:23
>>500 アフォすぐる・・・www
>>507 またでた。
「表の構成は変えられません。その理由は…。」
この手でしっかりした理由のあるやつ見たことない。
511 :
名無しさん@そうだ選挙にいこう :2009/11/28(土) 23:29:05
500=510 アフォすぐるwwwwww
>>506 その数式の意味は「その数式が入ってる行の数字を3でわったあまりが2」
つまり2・5・8行目が対象になる
後は自分で考えてくれ
あと
>>508 は俺も同意。
今回は終わってからでいいから、ピボットでもできるようになっておいたほうがいい
>>507 支払う予定日等が横に18セットもあるのか。大変だな
まぁ、苦労するのは俺じゃないからいいんだけどさぁ
>>506 数値を変えてみてどう変化観察してみてください。関数を理解する一歩です。
514 :
486 :2009/11/28(土) 23:34:42
お世話になりました。勉強します。
515 :
497 :2009/11/28(土) 23:55:13
>>512 横に18セット、縦に312セット*12シートあります。
前任者が作ったのは、312シートでマトリクス状になってたものが12のブックに分かれてました。
苦労してます。
使いやすいテーブル作れってのはよく見るけれど 現実にはわけのわからんフォーマット作るやつが山のようにいるわけでさ、 糞ブック相手に苦労して作業するうちいらんExcelの知識がたまるんだよなー
ピボットテーブル語れる人はsumproductなんて低級なもの教えちゃダメじゃね?
同一の問題の解決法を複数出せるのが上級者。 「3×5」でも「3+3+3+3+3」でも要は問題が解決できればいいんだし、 相手のレベルに合ったものを教えられる。
>>518 そういうことなら初心者にとっても上級者にとっても
ピボットテーブルを使うほうがおすすめだな。
使うの簡単だし、強力だし。
SUMPRODUCT, ROW, INDEX, 配列数式は上級者向きかつ非力。
えっ その程度で上級者向き
>>520 うん。世間じゃ簡単なことにされてると思うけど、ピボットよりは難しい概念だと思うよ。
SUMPRODUCTとか配列数式は典型的な初級者向けだと思うが。 でも勘違いしてるやつ多いんだよな。
>>522 初級者向けじゃねーだろ?
そんなもの素人に教えちゃいかんよ。
馬鹿が増えるばっかだ。
524 :
名無しさん@そうだ選挙にいこう :2009/11/29(日) 12:43:41
SUMPRODUCT使わなくてもSUMIFとかCOUNTIFを組み合わせれば出来る事が多いし、 作業列使えば解決する事が多いし。 やっぱり初級者向けじゃないと思う。
>>524 初心者にはSUMIFとCOUNTIFすら教えるべきじゃないと私は思ってる。
こんな貧弱な機能を先に教えてしまうから、もっと豊かな世界を知ろうとしなくなるんじゃないかな。
>>516 > 糞ブック相手に苦労して作業するうちいらんExcelの知識がたまるんだよなー
その通りだ。必要ない。
つまらないことは知らなくていいんだ。
>>515 >横に18セット、縦に312セット*12シートあります。
>苦労してます。
君と同じような苦労を世界中の人がやってると思う?
そんな問題は何十年も前に解決されているよ。
たまたま日本はIT後進国だから君みたいな苦労してる人が多いけどね。
そうやって横やらシートやらに展開しないで全部縦に並べて1次元で処理すればいんだよ 世の中のデータベースってのはそういうことになってる。それがいちばん簡単で確実だから。
>>517 そうは言うても質問者が関数で教えてくれって言ってたからな
>>519 には同意。でも会社の帳票などの問題で使わざるを得ない
あとそろそろデータベースソフトは中小に広まって欲しい
いつまでエクセルでやり続けるのか
しかしOfficeにAccessまでもが入ってたのは97までだよね? つまり需要がないってことか・・・ 別途何万も出して買うのはきつい。
531 :
名無しさん@そうだ選挙にいこう :2009/11/29(日) 15:05:44
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2002 SP3 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 画像 図形の調整 位置合わせ 正確 貼り付けた画像をセルの枠線に合わせたくて、図形描画→図形の調整→位置合わせ→グリッド をオンにしてみたんですが、どうも微妙にズレます。これは仕様なのでしょうか? また、他に枠線に合わせる方法はありませんか?
>>530 今もpro版か何かの上位版なら付いてくるはず。高いけど。
OOoのBase使うのが一番いいんじゃないかな
535 :
名無しさん@そうだ選挙にいこう :2009/11/29(日) 15:29:33
1週間前まで、全く問題なく開くことができた、Excel2003で作成した ピボットテーブルを使ったファイルを、同じくExcel2003で(winXPのPC) 開こうとすると、左下の部分に「ピボットテーブル レポートの集計中」 と出てくる所でエラーが出てきて開けません。 次にドキュメント回復の画面になって、画面左側の分割された 「ドキュメントの回復」画面に、赤い!マークのついた、赤く「修復済み」 と書かれたファイルが出てくるので、それを開こうとすると、同じく 「ピボットテーブル レポートの集計中」の所でエラーにまたなってしまい、 同じことの繰り返しになってしまいます。 ピボットテーブルが何かおかしいのでしょうが、どういった対処をすれば よいのでしょうか? ちなみに、他の複数のPCで試してみても開かず、以前、正常に開いた前の バージョンのファイルに復元しても、開かず、自動バックアップを停止して 開いてみても開かず、ほとほと困っております。 どうぞよろしくお願いいたします。
再度ピボットテーブルをつくりなおしてみてはどうかね
>>535 ファイルのどこかが壊れてるんじゃないかなぁ
新規ファイルにシートの内容をコピーした方がいいかも
ピボットも作り直したほうが良さそう
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 クラス 生徒 担当 成績 点数 A1 山田 加藤 2位 98 A1 米沢 加藤 3位 97 A1 増田 岡田 1位 99 B1 佐藤 加藤 7位 88 B1 武田 岡田 4位 90 B1 中川 岡田 5位 89 ↑のような票が続いているシートAがあるのですが シートBでクラスと生徒と担当を入力して全てが一致すると 成績と点数が出るようにするにはどうすればいいでしょうか? VLOOKUPを使ったのですが条件が1個ならできたのですが複数になるとできませんでした。 お力お貸しください。
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 質問です。 1行目にA列から順番にデータ(数値)が100個並んでるとします。(CV列まで) B1に1から100の任意の数値を入力した場合にC1にその合計値を表示したいのですが、教えて下さい。 例えばB1に「10」と入力した場合はsum(A1:J1)を表示したいという事です。 よろしくお願い致します。
540 :
539 :2009/11/29(日) 17:24:27
(訂正) B1に1から100の任意の数値を入力した場合にC1にその合計値を表示したいのですが、教えて下さい。 ↓↓↓ B1に1から100の任意の数値を入力した場合にC1にその列までの合計値を表示したいのですが、教えて下さい。
541 :
名無しさん@そうだ選挙にいこう :2009/11/29(日) 17:33:13
>537 一応、ビューアーでは開けたので、必要なデータの抽出をして、 新規ファイルにコピーできました。ありがとうございました。 ビューアー使わないと、新規ファイル開こうにも、コピーしようにも、 強制終了→エラーのループになってしまって、全く操作ができない状態でした。
>>540 B1って計算される数字が入ってるんじゃないの。
B1→A2で読みかえるけど
=SUM(A1:OFFSET(A1,0,A2-1))
>>538 ピボットテーブルか。私はうまく使えないんだが
範囲を選択してピボットテーブル
「ここにページのフィールドをドラッグ」というところに担当とクラス
「行の〜」に生徒、「データアイテム」に点数
その後に担当とクラス選べばいいんじゃないかなぁ
じゃなきゃシートごとコピーしてオートフィルタか
オートフィルタ使った後の集計はsubtotal関数が使える
>>539 入力と出力は別にする。じゃなきゃ循環参照になって色々問題が発生しやすい
例だと2.3行目に出力、4行目に入力が見安いかね
A2=if(A4="",a1,a4)
A3=SUM($A$2:A2)
これをCV列までオートフィル。新しい数字は4行目で入力する
ほんの一例なので、好きなように変えておくれ
>>539 B1に任意の入力、C1に合計値、で、集計参照範囲はA1:CV1って無茶苦茶だな。
>>538 クラス 生徒 担当を&で結合した値をどこかの列にいれておいて、そこでVLOOKUP
>>545 それ考えたけど、一人しか引っかからなくね?普通教室には何人も生徒がいるもんじゃね?
と思ったけど家庭教師みたいなマンツーマンかもしれないな
そうですマンツーマンの資料です。 ありがとうございます。
548 :
名無しさん@そうだ選挙にいこう :2009/11/29(日) 18:45:40
>>538 ピボットテーブルで結構使い勝手よさそうなのは出来たけど・・・
担当・クラスをプルダウンで選ぶと生徒のランク(成績)と点数が出る、みたいな。
ランクは「位」をはずして数値にすれば使える
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 散布図グラフを作成して誤差棒を付けたいのですが、誤差範囲を『各値の標準対数の平方根』とすることは出来ないんでしょうか?
551 :
539 :2009/11/29(日) 20:43:39
>>542 >>544 ご指摘の通り「B1→A2」「C1→A3」の間違いです。
>>542 間違いをくみ取って解決していただきました。
ありがとう御座いました。
酒は抜けたけどデートの予定もない、けだるい日曜の午後、 100%は面倒だけど10%位再現してみた。 1) }if関数とcountif関数の入ったセルを作る、式にエラーはない。 2} そのセルを元に隣接する複数セルに式をコピーする、循環エラー。 コピーされたセルはそれら各々の1部セルを参照している。 3} 元セルを修正、循環エラーも解決した、つ、も、り。 4} 返り値を文字列で指定しているにもかかわらずその元セル表示は数字の「0」、と変化。 ところが2)でコピーしたセル表示は元の文字列のまま、なんらか変化するはずなのに。 ここで分かった。 循環エラーは解決していない、当たり前だ、元セル以外は2)でコピーしたままだから。 だから、計算はされず元セル表示は、「0」。 そして、2}でコピーしたセルは再計算されずそのまま表示。 な〜〜〜んだ、猿にも分かるエラーじゃないか。 ぬりがとう、みんな。 もちょっと精進するわ、100%マメになるわ。 女に。
553 :
名無しさん@そうだ選挙にいこう :2009/11/30(月) 12:09:16
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 vba の勉強をしたいのですが、本を買ったほうが良いですか?
>2・B
556 :
名無しさん@そうだ選挙にいこう :2009/11/30(月) 12:26:33
EXCEL2007ってよく画面乱れない?
558 :
名無しさん@そうだ選挙にいこう :2009/11/30(月) 13:45:27
PCのスペックが足りてないんじゃないでしょうか
Winxp SP3/C2D E7200/4GB RAM/500GB HDD/UXGA+SXGA2画面表示です なんか、リソース枯渇の時に起こるようなコントロールの乱れ(メニューバー、リボン、その他いろんな物が乱れて消失) が結構な頻度で起きるんだよね 2画面表示しているからだろうかなぁ WORDやパワポでは起こらない バグフィックスもないから一般的な問題ではないということなんだろうけど とりあえず、TrueType切ってみる
560 :
名無しさん@そうだ選挙にいこう :2009/11/30(月) 16:22:44
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 コピペなら 【4 VBAでの回答の可否】 【5 検索キーワード 】 数値 置き換え 日付を含んだデータが送られてきたのですが データ形式が 月/日/年 という形なのでソートが不便です これを 年月日 というデータにするにはどうしたらいいでしょうか 03/05/07 ああああ 10/02/08 いいいい 11/30/09 ううううう ↓こうしたい 070305 ああああ 081002 いいいい 091130 ううううう よろしくおねがいします
561 :
複乳 :2009/11/30(月) 16:38:18
>>559 スペックは十分ぽいね
OSごとインストールされてみては
562 :
複乳 :2009/11/30(月) 16:42:18
>>560 元のデータがシリアル値でそうなってるのか文字列なのかで変わってくる
シリアル値の場合
書式設定でユーザー書式「yymmdd」
元のデータがもういう文字列の場合
=MID(A1,7,2)&MID(A1,1,2)&MID(A1,4,2)
シリアル値が分からん買ったら両方試してください
>>561 それはちょっと・・・・
経験上、ひとつのブックに多数のシートを作成し、シート間でリンクを張っていくとおかしくなってきます
グラフの数も問題かも
それほど大量データを扱っているわけでもないのですけどね
ファイルサイズもxlsxで160 KBぐらいしかないですし
今は、おかしくなったらそのつどEXCEL立ち上げ直してごまかしてます
EXCEL 2003以前では全くおかしくならないんですけどね
これが2007の残念なところ
プラグインとかの外的問題なんだろうか・・・・
564 :
複乳 :2009/11/30(月) 18:50:02
そういやゴミとして残ってるtempファイルを消せば不具合が解消されるかも じゃなきゃ2003形式のxlsファイルで作業してみるか excelのアプリケーション自体がぶっ壊れてるならエクセル再インストール APIがおかしいならOSごと再インストール
566 :
名無しさん@そうだ選挙にいこう :2009/11/30(月) 22:43:08
グロ注意!
画像くずれすぎだろ
C18セルに書いたフォルダ名に入ってるファイルを開いて集計したいのですが、 ChDirがうまく動作せず、フォルダが切り替わらないときがあります。 どこがマズーですか? FLD = Range("C18").Text ChDir FLD FN = Dir("*.xls") Do While FN <> "" If FN <> ThisWorkbook.Name Then IBO = False For Each WB In Workbooks If WB.Name = FN Then IBO = True Exit For End If Next If IBO = False Then Workbooks.Open Filename:=FLD & "\" & FN (以下略)
570 :
複乳 :2009/12/01(火) 08:50:20
>>569 セルに記入してるシートとは別シートや別ブックがフクテイブにはなってないよね
じゃなきゃフォルダが切り替わらないことはないと思うんだけど
後はウォッチ式を使って、ステップインで実行してみたら原因が分かるかもしれない
フォルダ名が間違っていないか、そのフォルダが本当に存在するか、 余分なスペースなどが入っていないか、全角になっていないかチェック
つ Debug.Print "<ここから>"; FLD; "<ココまで>"
573 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 12:15:58
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 時刻 自動開始 セルA1が8:30になったら、処理Aを開始するマクロを作りたいのですが、 よろしく、お願いします。
>>573 こちらこそ
今後とも宜しくお願い致します。
>>573 セルA1の時刻をどうやって変化させるかによる。
セルの中に時計を表示させる方法は、それほど単純じゃないので。
576 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 13:36:50
以前、MOS資格を取ろうとエクセル2002(XP)の問題集を買って勉強をしていてつい先日XPからvistaに買い換えました。 その場合エクセル2002の問題集に付いていたCDーROMは使えないのでしょうか?入れてみたのですが起動しなくて…。 どなたか教えてほしいです。
まずはPCリテラシー身につけた方がいいような
578 :
452 :2009/12/01(火) 14:38:56
>>573 A1に時計作って、8:30になったらイベントで処理Aを開始。
579 :
複乳 :2009/12/01(火) 14:52:47
7が出るのわかってて、つい先日vistaにかえちゃうような奴だしなwww
582 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 15:49:35
576です! 出版社に確認してみたらできるとの事でした。 もう1度試しにやってみたら起動したのでよかったです!今一般しか持ってないので上級が取りたくて。 ありがとうございました!
583 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 16:56:03
>>578 他
既にA1セルには時刻データが1秒ごとに変更になるようにしてあります。
肝腎のイベントは何になりますか?
>>583 時計そのものが標準の機能じゃないんだからイベントなんてわかるわけないだろ
その時計を作ったやつに聞け
A1の時計が実際の時刻なら、 A1関係なくふつーにアラームくんだらいいんじゃないの?
586 :
583 :2009/12/01(火) 19:43:30
selectionchange しかなさそう。 久しぶりに来てみたけど・・・ orz
587 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 20:52:56
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel2007 並べ替え フィルタ データを並べ替えで優先キーを設定して並べ替えます その状態でフィルタを付けると↑で設定した並べ替え条件がクリアされてます これは仕様なんでしょうか?何処かの設定を変える事によって並べ替え→フィルタをしても優先キーが消えないように出来ないでしょうか? よろしくお願いします
589 :
569 :2009/12/01(火) 22:11:56
>>570-572 ありがとうございます。
自分だけが使うものではないので、絶対パスに変えようと思います。
FN = Dir("*.xls") を FN = Dir(FLD & "\" & "*.xls") に変えるだけでよいのでしょうか?
-----------------------------------
FLD = Range("C18").Text
ChDir FLD
FN = Dir(FLD & "\" & "*.xls")
Do While FN <> ""
If FN <> ThisWorkbook.Name Then
IBO = False
For Each WB In Workbooks
If WB.Name = FN Then
IBO = True
Exit For
End If
Next
If IBO = False Then
Workbooks.Open Filename:=FLD & "\" & FN
'集計、他
Workbooks(FN).Close
End If
End If
FN = Dir()
Loop
590 :
569 :2009/12/01(火) 22:13:05
ChDir FLD を消すのを忘れました・・・
591 :
名無しさん@そうだ選挙にいこう :2009/12/01(火) 23:48:10
【1 OSの種類 .】 WindowsXP SP2
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 比較、VLookup、IF、関数
人物名・性別・住所・会社名を登録したエクセルのデータベースがあり、
このデータベースの内容を別のエクセルに貼り付け、
さらに性格・趣味・役職・出身を追加した拡張データベースを作成してました。
データベースは毎日更新され、新しいデータは一番下に追加される様になっており、
定期的に前回追加したデータから新しいものを拡張データベースに貼り付け、
追加のデータを更新していました。
ところが、データベースが壊れ、新しく登録したデータもろとも並び順がバラバラになってしまい、
どこからが新しいデータか分からなくなってしまいました。
そこで、今ある拡張データベースを元にして、
人物名を入力、またはコピペすると、性別・住所・会社名・性格・趣味・役職・出身が出てくるような
エクセルファイルを作りたいのですが、どの様にすれば良いでしょうか?
もしくは、どうすれば効率的に復旧出来るでしょうか?
説明が怪しいかもしれませんが、不明点はご説明したいと思いますので、
ぜひ、お力をお貸しください。
上記のサンプルファイルを下記にアップしましたので、参考にして頂ければと思います。
よろしくお願いします。
http://a-draw.com/uploader/upload.cgi?mode=dl&file=4562 DLKeyはxlssamです。
>>591 拡張データベースから余分なデータを削れば元のデータベースになるんじゃないの?
>>591 元データは時系列で正しく並んでいる。
拡張されたシートは時系列がめちゃくちゃになってる。
データの個数は一致していて、1対1で対応してる
でいいの?
人名が重複してないなら
元データE列に上から1,2,3って番号つけて
名前の列を並べ替え(昇順でも降順でも)
拡張シートも名前の列を同じルールで並べ替えて、
E列の数字を貼り付け
あとはE列をキーにして基の順番に並び替え。
そもそも、拡張シートのほうに日付なり、番号なり振っておくべき。
>>589 ウォッチ式、気に入らなければmsgbox使って変数の中身見れ
>>591 うーん、件数次第だねぇ
この件数なら、countifで行削除。F4(直前の行動の繰り返し)をするかね
I1=COUNTIF(A:A,A1)
下にオートフィル
あとはマクロで行削除。かなりクセの強いやり方と思う。
Option Explicit
Sub Macro1()
Dim gyo, i
gyo = Range("I65535").End(xlUp).Row
For i = gyo To 2 Step -1
If Cells(i, 9) > 1 Then
Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next
End Sub
595 :
591 :2009/12/02(水) 00:57:39
皆さんレスどうもです。 後付けの説明で申し訳ないんですが、 元データには人物名以外イレギュラーなデータが入力されていたり、 重複した個人が入力されてました。 その為、1対1または時系列順では対応していません。 件数としては3000件前後になります。 また、拡張DBにはサンプルでは趣味とかにしましたが、 再度入力するのがかなりの手間になる様なデータが入っている為、 極力、今ある拡張DBを生かしたいのです。 (説明がややこしいですが)めちゃくちゃになった元データから 拡張DBにあるデータを抽出してやれば、前述のイレギュラーデータは あるものの、残りは基本的に新しく登録したデータのみとなり、 あとはいつも通りの作業をすれば良いと思ったからです。 説明不足であれば、指摘下さい。 引き続きよろしくお願いします。
596 :
591 :2009/12/02(水) 01:20:42
例えば、新しいまっさらなシートに、めちゃくちゃとなった元データから名前の列だけを全部コピーしてきて ペーストすると、拡張DBとマッチする名前だけ、 名前の横にその名前に付随したデータが表示される様に出来ないでしょうか?
>>595 作業列にVLOOKUP、オートフィルタ
598 :
593 :2009/12/02(水) 01:22:15
>>595 正しく並んでいるのは、拡張シートで
登録順番が判らなくなったのは、元シートでいいの?
元シートにはまだ、拡張シートに登録してない新規の行があり、
その新規の行を含めて、元シートの順番がめちゃくちゃになったせいで
どれが新規の行か判らなくなった
でいいの?
元シートにゴミデータ行があるなら、Indexつけて並べ替えで順番そろえる手は
後で人間が修正してやる必要がある。
名前+会社名の組み合わせがユニークなら、
その条件でMatchingさせてやればいいけど
もう寝るから今日はパス。
>>596 その程度のことならVLOOKUPとかINDEXとMATCHでできる
壊れた、というのがファイルが物理的にHDDなどのデータレベルで壊れたのか、 操作ミスで予期しない順序に並び替えられただけなのかで対処法が異なる まぁvlookupの戻り値を&で結合したりすれば一発で戻るかもしれない 無理かもしれない
601 :
591 :2009/12/02(水) 01:42:24
説明がきちんとしていなくてすみません。
>>593 さん
シートの経緯に関してはその通りです。
>>600 さん
ファイルが壊れて読み込めなくなりました。
しかし、登録したデータ自体は登録した各人がバックアップしていたので、
それを戻したのですが、順番までは復元出来なかった。という経緯になります。
Vlookupの戻り値を&で結合とはどういったやり方になるんでしょうか?
>>600 進研模試でいうとfjがおよそ偏差値45、民放地上波は約40、
ニュース速報+は35程度を対象にしています。
603 :
複乳 :2009/12/02(水) 14:06:36
>>601 こんな感じかねぇ。シートの番号がそのまま手順
後はテキトーにかいぞーしてつかって
vlookupはなんかめん゛くさくなってきたのでやめ
>>602 マジですか!?
604 :
複乳 :2009/12/02(水) 14:08:08
進研模試でいうとfjがおよそ偏差値45、民放地上波は約40、 に一致する日本語のページ 約 457 件中 1 - 10 件目 (0.75 秒) ウィルスにでも掛かってるのか、単なる変な人がコピペしてるだけか なんでもいっか
番違いかもしれんが・・・ エクセルで作った表をパワポにコピペしたいんだけど、 エクセルの下地の薄い青線までしたくないのにペーストされてしまう。 どうしたらいいか教えてくだされ。
606 :
複乳 :2009/12/02(水) 15:25:30
>>605 おぷしよん ういんどうおぷしよん わくせん のちえつくをはずす
607 :
複乳 :2009/12/02(水) 15:26:28
>>605 白で塗りつぶすのも良いかもな
こっちのほうが手っ取り早いかも
609 :
名無しさん@そうだ選挙にいこう :2009/12/02(水) 17:22:12
判別式が効いていません 9時以降ならという意味です。 訂正をお願いします。 if time >= timevalue("09:00:00") then
610 :
複乳 :2009/12/02(水) 17:32:29
>>609 なるけど。PCの時計がずれてるんじゃないか
Sub a()
If Time >= TimeValue("09:00:00") Then
MsgBox "9じいこう"
End If
If Time >= TimeValue("18:00:00") Then
MsgBox "18じいこう"
End If
End Sub
611 :
569 :2009/12/02(水) 19:22:23
>>594 ありがd!!
ウォッチ式って、ググって初めて知りまいた。
でも、msgboxの方がいいかな?
ついでに・・・
FN = Dir(FLD & "\" & "*.xls") の意味は分かったんですが、
FN = Dir() って、どういう意味でそ?
ちなみに私は女です><
>>611 dir関数でぐぐれ
あとdirの引数無いとエラー出るよ
613 :
名無しさん@そうだ選挙にいこう :2009/12/02(水) 19:49:00
複乳 (←なんて読むの?)
ふくにゅうだよ
615 :
569 :2009/12/02(水) 20:06:35
>>612 次のファイル名を取り出す って意味でいいのかな??
また教えてくださいね♥
616 :
名無しさん@そうだ選挙にいこう :2009/12/02(水) 20:28:07
617 :
591 :2009/12/02(水) 20:42:39
>>複乳さん レスどうもです。サンプルを作って頂いたんでしょうか? ぜひ参考にしたいのでアップ先を教けますか?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル VBA 項目 一致 データ入力
〜環境〜
営業所にどれだけ電話がかかってきたかを吐き出すソフトが入っていて
エクセルデータが吐き出される。
これを全国営業所一覧のシートにまとめたい。
dataフォルダに着信回数が入ったフォーマットを入れる
集計表にて「回数」の取り込みをおこなう。
毎日取り込むわけではなく、データを取り込むはランダムです。
取り込む一覧表に日付を入力して、日付が一致
かつ一覧の営業所番号がフォーマット中の営業所番号と一致したら
該当のセルへデータ反映とする考え方だと思うのですが…
VBコードにするまでには至らず。
うまく伝わっているか微妙ですが、お力を貸してください。
ttp://nosm2o.hp.infoseek.co.jp/cgi-bin/up/src/rs0636.zip
>>620 回答いただきありがとうございます。
これは一度、元のファイルからすべてのデータを集計表の方うつさないといけないのですよね?
こちらのほうは、バラバラのファイルから取得して一覧化できるマクロを組めそうなのですが
変更日の「日付が一致したとき」の設定はどのようにしたら良いですか?
>>621 fornextで回して一致すれば縦か横に検索、でいいんじゃないのん
ループ変数iをcells(i,1)のようにして使う
後はifで分岐させる
これを使えるようになればなーんとでもなる。気がする。
624 :
複乳 :2009/12/03(木) 15:27:05
>>623 C3=IF(LEN($A3)>=8,MID($A3,1-8+LEN($A3),1),"")
G3=IF(LEN($A3)>=3,MID($A3,6-8+LEN($A3),1),"")
I3=IF(LEN($A3)>=1,MID($A3,8-8+LEN($A3),1),"")
法則は分かるかな。こんなカンジで2箇所ずつ変えながら入力
column()知ってるならそれに置き換えればいいと思う。知らなかったら手作業でやるべし
>>624 出来ました。ありがとうございました。
cloumn研究してみます
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 リンゴ-バナナ.xls リンゴ-なし.xls リンゴ-いちご.xls のように、ファイル名に「リンゴ」が入っているブックを全て開く マクロを作成したいのですが、助けてください。
たまにはググれ。カス野郎
630 :
名無しさん@そうだ選挙にいこう :2009/12/04(金) 13:07:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 参照 参照をするための式(=A2など)を入れてあるのに 急にそれが実行されなくなりました 式自体はそのまま入っているので、そこをクリックしてenterキーを押すとやっと反映されます。 いままでのように自動的にはんえいされるようにするにはどうしたらいいですか?
>>630 ツール → オプション → 計算方法 → 自動
>>631 仕事が止まっていたので助かりました!
本当にありがとうございます!
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 / 2003 【5 検索キーワード 】 EXCEL ROUND 丸め シートの関数について質問です。宜しくお願いします。 A1:=(350000*40.95/1000) A2:=ROUNDDOWN(350000*40.95/1000,0) A3:A1-A2 上記のように式を入れてセルの表示形式を数値(小数点以下2桁)にしたとき A1:14332.50 A2:14332.00 A3:0.50 と表示されます。 小数点以下15桁にすると A1:14332.500000000000000 A2:14332.000000000000000 A3:0.500000000001819 と表示されてしまい、A3の小数第12位以降に数値が表れ 予期せぬ結果となってしまいます。 小数第2位までで判断したかったのでA1,A2にROUNDをつければ解決できるのですが この表れた数値はどのようなものなのでしょうか?
>>635 それは2進数と10進数の変換誤差
ごまかすことはできるけどなくすことはできない
単に14332.500000000001819と数値で入れてもそんな表示だよね 15桁しか表示しないから誤差が隠れちゃってるんだよね
あー、しないというか簡単にはできない
>>635 小数誤差とか言う奴です
エクセルの仕様としか言い様がない。
知ってないと防ぐことはできないと思う
641 :
635 :2009/12/05(土) 00:51:31
質問です。 PHONETIC関数で参照指定したセルが、他のセルを参照したもので あった場合に振り仮名が表示されないようですが、表示させる方法はありますか? 例 A B C 1山田 =A1 =PHONETIC(B1) C1が空欄になってしまう。 よろしくお願いします。
>642 そういうものです。 ふりがな行を用意して「山田」と同じように参照するべし。
644 :
642 :2009/12/05(土) 18:04:05
そ、そういうものですか・・・orz
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002(OfficeXP)
数式にエラーメッセージが出てしまいます。
自分では間違ってないと思うんですけど、どこか誤りがあればご指摘ください。
文章だけでは説明しにくいので、画像ファイルを用意しました。
http://uproda.2ch-library.com/194242fyj/lib194242.jpg B2〜M2が日付(m"月")、N2が日付('yy"年"m"月")、B3〜M4が数値になっています。
H6には =IF($N$2<H2,H4,IF($N$2=H2,SUM($B$4:H4),0)) を入れ、エラー警告が出ています。
数式の意味は、もしN2がH2と比べて過去のときはH4の値、同じ月ならB4からH4までの合計、違うときは0です。
よろしくお願いします。
>>645 ヤマカンで答えてみる。
隣のセルと数式が違うってだけの無視していいエラーではないかと思う
>>645 手っ取り早く自分で調べる方法。
画像ファイルを参考に言うと、C列上に"fx"ってあるでしょ。それを使って
自分でどこがおかしいのかが調べられます。
まずH6を選択するとそのfxの隣に関数式が現れますがその関数式のIFと(
の間にカーソルを合わせてワンクリックしてください。そのあと"fx"をクリック
するとその関数式のどの位置が問題点かがわかります。
やってみてください。
>>645 数式の合計範囲(H6でいう”$B$4:H4")が、隣り合う数式とは違うためC6:M6
の各セルにエラー警告の緑タブが付いているだけで問題は無いでしょう。
気になるなら注意マークをクリックして”エラーを無視する”でかまわない
でしょう。
>>645 取りあえずエラー警告のマークにマウスを合わせてみて
なんて表示されてるかぐらいは確認しろよ
Excelグラフの作り方を学びたい。どの本が一番参考になりましたか? 中級以上のもので研究報告の際、見栄えのいいものを作りたい。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 円グラフを作っています。 表で小数点の%を入れるけど、グラフにしたら整数でしかでてきません。 どうすれば小数点以下の数字も出せますか? (表では16.8%と記入→グラフ17%となるのをグラフでも16.8%と出したい) いろいろググってみたけど、よくわかりませんでした。
>>651 17%の表示形式を変更すればよい。表示形式まで辿り着いてみましょう。
【1 OSの種類】 Windows xp SP3
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか 】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】抜け、チェック、=IF、
ttp://okwave.jp/qa3116582.html Aというシートには連番が振られたデータが1000個あるハズが、途中、いくつも抜けがあります。
BというシートにはAでは抜けてしまっているデータも含めきちんと1000個あります。
Aの抜けていないデータにはBから更新されたデータがいくつか入っており、
それが複数あり、かつ、目印になるものがない為、AからBに更新分を入れ替える方法は難しい為、
BからAへ抜けたデータを補完していこうと思っています。
どうすれば効率良く補完出来るでしょうか?
よろしくお願いします。
シートまるごとコピーしちゃだめなのか
>>653 シートAに1〜1000までちゃんと行があり
データが抜けてる箇所が単純に空欄になってるなら
シートAを丸ごとコピーして、
Bシートに形式選択貼り付け→空欄を無視
>>652 651です。おかげさまでできました。
ありがとうございました。
658 :
653 :2009/12/06(日) 22:20:45
>>656 氏
残念ながら、リスト抜け部分は1、2、3、7、19の様に、空欄セルは無く、
詰められてしまっている状態なんです・・・。
>>653 1.Aというシートには連番が振られているということはこの連番でデータを一意に把握できるということかな?
そうだとすれば作業用のシートにAの連番をコピーしてその下にBの連番をコピーしてピボット集計を
使って連番のカウントを取れば抜けてる連番が把握できる。
(2個あるはずのところが1個しかないのが抜けてるデータ)
2.シートBから抜けてる連番の表をVLOOKUPなどで参照して目印をつけてフィルタをかければ
抜けてるデータだけを抽出できる。
3.そのデータをシートAの下にコピーしてソートをかければいいんじゃないかな
660 :
名無しさん@そうだ選挙にいこう :2009/12/06(日) 22:52:20
>>653 1:1〜1000までの連番?の列を作る
2:vlookupでAシートの内容、Bシートの内容を引っ張ってくる。
3:別の列で、もしAがN/Aになっていれば、Bシートの内容にする・・・というIFでAにないものはBにないものを持ってくる。
以上
661 :
名無しさん@そうだ選挙にいこう :2009/12/06(日) 22:53:14
訂正 3:別の列で、もしAがN/Aになっていれば、Bシートの内容にする・・・というIFでAにないものはBの内容を持ってくる。
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2003 & Access2003 【3 VBAが使えるか .】 はい(Accessは使いますがExcelは余り分かっていません) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel VBA 表示 ズーム AccessからTransferSpreadsheetでExcelを吐いています。 但しただ吐き出したものではなくいくつか体裁を整えた状態にしたいのですがその1つである表示ズーム率の変更(30%指定)ができません。 あくまでAccess上のコードなので、もしAccessスレで聞くべきものでしたら済みません。Excel操作のVBAなのでこちらでまず質問させて頂きます。
663 :
662 :2009/12/06(日) 23:09:39
長すぎると怒られたので分割します。 '======================================================================== Dim StrXLfile As String StrXLfile = "C:\Documents and Settings\ユーザ名\デスクトップ\今日の一覧" & Format(Date, "yyyymmdd") & ".xls" DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Q_今日の一覧", StrXLfile Dim objEXCEL As Object Dim wb As Excel.Workbook Set objEXCEL = CreateObject("Excel.Application") objEXCEL.Visible = False objEXCEL.UserControl = True objEXCEL.Workbooks.Open Filename:=StrXLfile Set wb = objEXCEL.Workbooks.Open(StrXLfile) With wb.Worksheets("Q_今日の一覧") With ActiveSheet .Zoom = 30 End With wb.Save wb.Close Set wb = Nothing objEXCEL.Quit Set objEXCEL = Nothing '======================================================================== 前提としてもちろんAccessの参照設定でMicrosoft Excel 11.0 Object Libraryはチェック入れてあります。他にも wb.Worksheets("Q_今日の一覧").Activate ActiveWindow.Zoom = 30 というやり方もしてみました。 いずれにしても.Zoomのところで「メソッドまたはデータ メンバが見つかりません。」とコンパイルエラーが出てしまいます。 正直ExcelVBAはよく分からないままコピペで作ったコードなのは自覚しております。不適切な部分を教えて頂ければ幸いです。
>>663 ちょっとしか見ていないが「End With」が足りなくないか?
>With wb.Worksheets("Q_今日の一覧")
>
>With ActiveSheet
> .Zoom = 30
>End With
↓「ActiveSheet」じゃなくて「ActiveWindow」じゃないかな?
ActiveWindow.Zoom
>「メソッドまたはデータ メンバが見つかりません。」
エラーメッセージをよく読んで考えてみるとエラーメッセージの通りだったというのはよくある話
665 :
664 :2009/12/06(日) 23:53:12
ActiveWindowも試したんだっけ? ActiveWindowがアプリに所属するオブジェクトなのかブックなのかシートなのか というオブジェクト階層の話かもしれない↓ objEXCEL.ActiveWindow wb.ActiveWindow
666 :
662 :2009/12/07(月) 00:06:44
>>664 済みません確かに最後にもう1つEnd Withが必要ですね。関係の無い部分を除いてコピペする際に貼り付け忘れました。
End With
End With
wb.Save
に読み替えてください。
.Zoomのところでコンパイルエラーが出るので.ZoomでF1押すとWordとMS Formsの.Zoomも候補に出るので
どの.Zoomか明示できていないのかな?という気もするのですが…
ただ明らかにExcelオブジェクトの中で書いてるつもりですので違うのでしょうか。
あとはActiveWindowというのは
>>665 でもおっしゃっているようにどのレベルでActiveでなければならないのかという
問題な気もします。あくまでExcelの中であればシート1つのブックなのでActiveになり得るシートは他に無いと思うのですが。
もしWindows全体の中でActiveで無ければならないとしたら、そもそも
objEXCEL.Visible = False にしている時点で無理なのでしょうか…?
wb.Application.ActiveWindow.Zoom = 30 かな?
668 :
662 :2009/12/07(月) 00:26:21
>>667 ありがとうございます。できました<(_ _)>
やはりオブジェクトの階層を明示してやる必要があったということでしょうか?
あまりよく分かっていませんがw求めることは果たせました。
ありがとうございました。
669 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 19:27:56
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 否 Excelの関数で質問です。よろしくお願いします。 x 1 2 3 ■■■■■■■■■ ■1■■2■■3■ 1 ■■■■■■■■■ ■4■■5■■6■ 2 ■■■■■■■■■ ■7■■8■■9■ 3 ■■■■■■■■■ y xの最大数=3、yの最大数=3 上記の様な番号があった場合にAのセルに以下の番号を設定するとXとyのセルに以下の値を返す。 1、4、7の場合にXのセルに1を 2、5、8の場合にXのセルに2を 7、8、9の場合にXのセルに3を 1〜3の場合はyのセルに1を 4〜6の場合はyのセルに2を 7〜9の場合はyのセルに3を 設定するような関数を教えてください。 縦や横が伸びた場合(x=4, y=8)とかにも対応出来る様にしたくて、 IF文とROUNDDOWN、MOD関数の複合でやったのですが 思うように行きません。 どうぞご教授をお願いします。
670 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 20:25:24
>>669 説明がさっぱりわからん
Aのセルとは?
またその図も崩れてるのか何なのかまるでわからない
ファイルのアップロードを希望
>>671 7の場合はXのセルは1なの?3なの?
何をしたいのかまったくわからん。
>>661 0-1整数計画問題として考えるとよい。
0または1の値しかとらない変数をX, Y, 数値 の組み合わせ分用意して、それらの関係を一次式で表現するんだ。
676 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 21:32:17
677 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 22:12:33
>>673 >>676 すみません回答ありがとうございました。
今確認しながら自分のやってたパターンと何が違って居たのか見ています。
本当にありがとうございました。
>>676 なんだそりゃ?
それのどこが回答なんだ?
「説明わかりにくいんじゃ!」などと悪態つくのは説明がわかってからにしろ。
自分はロム専だが、このまま質問者が回答者に対し悪態をつくようでは、 回答してくれる方がいなくなりそうで怖い。 折角技術を提供して貰っているのに・・・それも無償で。 この前の質問者も、おかしな人だったな。 よく分からないような質問の仕方をして「恐らくこういうことだろう」という内容で マクロを貰っておきながら、お礼の言葉どころか、「私の言ってることの意味、分かってます?」 などという・・・。
ロム専ならROMってろよ 回答することに生きがいを感じてるのもいるんだよw
682 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 23:09:53
>>681
「
>>678 は質問者じゃないぞ」って言い切れるのは、お前のカキコだからか?
>>679 質問もろくに読まず、勝手に解釈して回答するのもいるからな。
過去ログをざっと読み返してみたけど、「私の言ってることの意味、分かってます?」なんて書いて
お礼を書かなかったやつが探せなかったんだが、どれ?
685 :
名無しさん@そうだ選挙にいこう :2009/12/07(月) 23:15:15
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少しだけ・・・ 【4 VBAでの回答の可否】 可 A列にユニークなID番号、B列に担当係名のような表があるとします A B 001 図書係 001 掃除係 002 給食係 003 植物係 003 動物係 003 保健係 004 体育係 このときB列の値を、A列の値の単位で集計(結合?)してC列に表示するにはどうしたら良いでしょうか? 具体的には A B C 001 図書係 図書係兼掃除係 002 給食係 給食係 003 植物係 植物係兼動物係兼保健係 004 体育係 体育係 のように"兼"という文字でつなげて表示したいです。行は400行近くあり、B列は文字列です。 ご教示のほど、どうぞよろしくお願いいたします。
・・・すみません。列ズレが酷かったので再投稿します。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少しだけ・・・ 【4 VBAでの回答の可否】 可 A列にユニークなID番号、B列に担当係名のような表があるとします A B 001 図書係 001 掃除係 002 給食係 003 植物係 003 動物係 003 保健係 004 体育係 このときB列の値を、A列の値の単位で集計(結合?)してC列に表示するにはどうしたら良いでしょうか? 具体的には A B C 001 図書係 図書係兼掃除係 002 給食係 給食係 003 植物係 植物係兼動物係兼保健係 004 体育係 体育係 のように"兼"という文字でつなげて表示したいです。行は400行近くあり、B列は文字列です。 ご教示のほど、どうぞよろしくお願いいたします。
689 :
653 :2009/12/08(火) 02:49:55
お二方、書き込みありがとうございます。 659氏のピポット集計というのが分からない為、 わかりそうな660氏のN/Aになった場合〜というのをやりたいのですが、 どの様な式になりますか? =Vlookup(A1,参照1!A2:Z30,1,FALSE)と =Vlookup(A1,参照2!A2:Z30,1,FALSE)を IFで条件によって切り替えるのかと思うんですが、 #N/Aとなった場合に参照2側を探すというのが…。 ご教示よろしくお願いいたします。
>>688 Sub aaa()
r1 = 1
Do
If Cells(r1, 3) = "" Then Cells(r1, 3) = Cells(r1, 2)
r2 = r1 + 1
If Cells(r1, 1) = Cells(r2, 1) Then
Cells(r1, 3) = Cells(r1, 3) + "兼" + Cells(r2, 2)
Rows(r2).Delete
Else
r1 = r1 + 1
End If
Loop Until Cells(r1, 1) = ""
End Sub
692 :
名無しさん@そうだ選挙にいこう :2009/12/08(火) 06:49:11
>>689 =IF(ISNA(A1),B1,A1)
とかそんな感じ。
iserrorでも。
>>690 無事できました!!ありがとうございます!
694 :
名無しさん@そうだ選挙にいこう :2009/12/08(火) 13:01:32
EXCEL2002で積み上げ棒グラフを作り データラベルの系列名表示を施したのですが ちょっと困ったことになりました データの都合で0値の項目がいくつかあるのですが その部分のグラフの系列名が重なって表示されて見づらくなってしまってます その項目を非表示にすることなく、項目名も消すことなく その部分の系列名だけを表示させなくすることはできますか?
StarSuiteとオープンオフィス、どちらにしようか迷っているのですが 双方の弱点とかありますか?
共通してマイナー
そうですね、ありがとうございました
Excel2007→Excel2005以下のバージョンで一部互換性がないと風の噂というか2chで チラミしたんですが、2007で作成されたものを2005で開いても、特にバグもエラーも見当たりません。 どういった時(何をしたとき?)に、互換性がないのでしょうか? また2007作成のファイルを「名前を付けて保存」してバージョンを2005に落とせば大丈夫でしょうか?
>>699 とても参考になりました。ありがとうございました。
2010で更なる変貌を遂げ、(2ch情報では列はXXXXまであり、行は億までなんだそうで)
Excel崩壊か・・・・これヒッドイワァ(´・ω・)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 初心者マーク 【4 VBAでの回答の可否】 可 Book1に下記のようなデータがあります。 Book2のD列へ、Book1のF列、G列を参照しながら、合致するE列のデータを 入れたいんですが、同じ番号が複数あるので、VLOOKUPでは別のデータを 取り込んでしまいます。どのような方法でやればいいでしょうか? Book1.xls A E F G A01 1000 K1 A01 2000 K2 P012 C01 1500 K2 P013 B01 3000 K1 A01 1200 K2 P014 Book2.xls A B C D A01 K2 P014 B01 K1 A01 K2 P012 ↓ Book2.xls A B C D A01 K2 P014 1200 B01 K1 3000 A01 K2 P012 2000
>>701 H列辺りに=a1&f1&G1
のようにしてそれをキーにしてmatch、vlookupなど
>>702 ありがd!できました。
=CONCATENATE(A1,F1,G1)と書かなくてもいいのねん。ちょっとビクーリw
Sub あああ() Dim a, b, c, d Set a = Workbooks("book2").Worksheets("sheet1") Set b = Workbooks("book1").Worksheets("sheet1") Application.ScreenUpdating = False a.Activate For c = 1 To 100 For d = 1 To 100 If b.Cells(d, 1) = a.Cells(c, 1) And b.Cells(d, 6) = a.Cells(c, 2) _ And b.Cells(d, 7) = a.Cells(c, 3) Then a.Cells(d, 4) = b.Cells(c, 2) Exit For End If Next Next Application.ScreenUpdating = True End Sub
>>704 ありがd!
でも、実行時エラー9 インデックスが有効範囲にありません と出て、
Set a = Workbooks("book2").Worksheets("sheet1")で止まってしまいます。
あーすまんsheet1のとこにそれぞれのシート名を入れてくれ でもマクロ無しでいけるならそっちのほうがいーぜ
>>706 マクロどおりにファイル名とシート名を変えてみました。
Set a = Workbooks("Book2.xls").Worksheets("Sheet1")
Set b = Workbooks("Book1.xls").Worksheets("Sheet1")
エラーは出なくなったものの、何も書かれません><
よし じゃーなかったことで
そこで、複乳さんの登場ですよ
これでおk? Sub あああ() Dim a, b, c, d Set a = Workbooks("Book2.xls").Worksheets("Sheet1") Set b = Workbooks("Book1.xls").Worksheets("Sheet1") Application.ScreenUpdating = False a.Activate For c = 1 To 100 For d = 1 To 100 If b.Cells(c, 1) = a.Cells(d, 1) Then If b.Cells(c, 6) = a.Cells(d, 2) Then If b.Cells(c, 7) = a.Cells(d, 3) Then a.Cells(d, 4) = b.Cells(c, 5) Exit For End If End If End If Next Next Application.ScreenUpdating = True End Sub
参照するのは2箇所っていってるぞ
WindowsXPSP2でExcel2007を使用。 [名前を付けて保存]から[エクセルマクロ有効ブック]の形式で[tool]で[全般オプション]でパスを設定し、 パス付き、マクロ有りの.xlsmを作成しました。 ファイルを開いてマクロを実行しようとしたら[セキュリティの設定により、マクロが無効化されました]と表示され実行できません。 [セキュリティセンター]の設定で[全てのマクロを有効にする]にチェックを入れているのですが、実行できない原因がわかりません パスを解除するとマクロが実行可能になるのですが… パス付きでマクロ実行可能なセキュリティ設定の仕方をどのように設定したらいいのかわからないので教えてください
2007はそのあたりなんか違うよな
714 :
名無しさん@そうだ選挙にいこう :2009/12/09(水) 06:16:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 予算管理のため、毎月の支出予想・実績をEXCELで表にしたいと思っています。 セルB1〜M1には"4月"から"3月"までが記入されていて、その下の列は 2行が毎月の支出予想値、3行は支出実績値です。 2行は支出予想値なのであらかじめ値が入っていて 3行は支出実績値なので最初は空欄、その月の決算が終わったら値を入力する という使い方をします。 セルN2に年間支出予想値を表示させたいのですが、 "その月までの実績値"+"翌月以降の予想値"を出したいと思ってます。具体的には、 年度当初:N2=B2〜M2の合計 7月時点:B3-D3まで値が入力されている→N2=B3〜D3の合計+E2〜M2の合計 1月時点:B3-J3まで値が入力されている→N2=B3〜J3の合計+K2〜M2の合計 といった感じです。 説明がうまくいったか不安ですが、うまいやり方があればお願いします。
>>714 どっかに一行作業用の行(今気付いたけど「作業列」とはいうけど「作業行」と言わないのはなんでw)を作って、
そこに実績が入力されてれば実績、なければ予定という数式を入れる
→そいつらを合計して完成
というやり方が一般的かな。
>>715 作業行って言えばええやん。
言わないのはなんで?
718 :
717 :2009/12/09(水) 08:37:26
>>719 できました!
素早いご回答ありがとうございました!
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Microsoft Office Excel 2003
【3 VBAが使えるか .】 わかりません
【4 VBAでの回答の可否】 わかりません
経緯を少し書かせてもらいます。
会社でパソコンが壊れたため、windows7のパソコンを購入しました。他にXPのパソコンがあります。
会社に置いてあった2003があったので、インストし、XPに入ってるエクセルデータなどもwin7のパソコンに入れました。
ダブルクリックでエクセルの見積書などを開こうとすると、「プログラムにコマンドを送信しているときにエラーが発生しました」という表示が出ます。
検索したらとても似た症状の方がいました
http://windowsxp_nec.pasokoma.jp/6_125671.html ↑の方は
>「アクション」の「OPEN」の「編集」の中の「アクションを実行するアプリケーション」
>をエクセルファイルを選び、その最後に、スーペースをいれその後に "%1" を書き足しました。
>それから、「DDEメッセジー」をすべて消しました。そうしたら正常に開くようになりました。
>ワードも同じ対策で直りました。
で直ったそうなんですが、win7の操作になれていなくて、自分はフォルダオプションは開けたんですが、
>「アクション」の「OPEN」の「編集」の中の「アクションを実行するアプリケーション」がどこにあるのか分かりませんでした。
ようはダブルクリックして開こうとするとエラーが出るということなんです。分かりにくい説明すいませんでした。
722 :
複乳 :2009/12/09(水) 10:16:39
>>709 ほとんど同じだけど
Sub fuku()
gyo1 = Workbooks("Book2.xls").Worksheets("Sheet1").Range("A60000").End(xlUp).Row
gyo2 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A60000").End(xlUp).Row
For i = 1 To gyo1
For k = 1 To gyo2
If Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 1) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 1) _
And Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 2) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 6) _
And Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 3) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 7) _
Then
Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 4) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 5)
End If
Next
Next
End Sub
>>716 単純におなじ読みの言葉が繰り返されるのが気持ち悪いからではないでしょうか
2007で作成したファイルを97-2003形式で保存し、2002で開くと シートは表示しますが、ピボットテーブルが操作できません。 そんなもんなんですか。
724 :
複乳 :2009/12/09(水) 12:27:47
Excel2007です フォームのActiveXコントロールを使用した場合 ラジオボタンやラベルの文字が汚くなる(太字になっている?) のはなぜなんでしょうか・・・ またそれを戻す手段というのはありますか?
【1 OSの種類 .】 Windows XP/2k3/Vista/7Client (複数人で使うことが考えられるため) 【2 Excelのバージョン 】 Excel2007 (今後、2010も使われると思います。断然2010の方が便利ですし) 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 +VBA コーディングルール 、+VBA 命名規則 、+VBA variable naming、column Excel VBAにて、命名規則、コーディングルールで迷っています。 特に Const HogehogeCol as ingeger = 1 というように カラムの名前にあわせた定数を定義しているのですが、この定数名で悩んでいます 候補に挙がっているのはこれだけです(=思いつくのはこれだけ) {1] IdCol [2] ColId [3] Col_Id [4] COL_ID 意味的に{1]が一番わかりやすく、はじめはこれを使っていたのですが コーディングする際、Colを頭につけた方が補完が効き有利になると思い [2]以降に変更した方がいいと考えました。 特にIdの例でわかりやすいのですが、[2]は読みづらいと思います。 ということで、[3]を考えてみましたが、中途半端な印象があり、これもどうかなと思います。 伝統的には[3]を定数名として使われていましたが、 最近このような表記を避けている傾向があるように重い、避けるべきかと悩んでいます。 ネット上でVBAのサンプルなどに目を通しましたが、 そもそも、定数を使わず直接生の値(リテラル値)を使ってる例ばかりでした。 また、命名規則も、あまり統一されている様子はありませんでした。 そのため、個人で命名規則・慣習を調べるには限界を感じ、ここで質問するに至りました。 皆さんは、カラムに対応する定数を定義する場合、どのような名前でやっているのでしょうか? 何かテクニックがあれば伺いたいです。
727 :
複乳 :2009/12/09(水) 16:38:21
>>726 定数の値が整数型だけなら
列挙型(Enum)を使えばある程度すっきりかける
候補の中で自分がよく使うのは[2]かな
定数や変数はある程度長くても2〜3文字打てば
Ctrl+スペースで変換候補が出るからこまらんな
それより後で見た時にパッと見わからん方が困る
729 :
726 :2009/12/09(水) 17:34:00
>>728 なるほど、Enum型をそんなことに応用するんですか。
型の扱いが曖昧なVBAならではの手法ですね。
たとえば、CountColと一緒にCountという変数が宣言されている場合が多く
こういう場合には、あまりIDEの補完の恩恵を受けられなくなるんです。
そのため、[2]を採用したいが、これは見た目が悪かったので躊躇していました。
Enumなら間にコロンを挟むので多少見やすくなりますし、後続の単語の頭文字も小文字にできますしいいですね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 参照 紙の数十枚のデータをエクセルに取り込みたいのです。 フリーのOCRソフトでエクセルに取りこむことはできたのですが 縦や横の複数のセルががっちり結合して一つの文字列になっています。 これらを分解し 数値 ごとに1個のセルを割り当てたいのですが 手作業でやるしかないのでしょうか
参照でググって何が出ると思ったのかわかりませんが 今度は文字列 関数でググってみたらどうだろう? 文字列から抽出するいろんなパターンが載ってるので まずはそれを見て、それでも駄目ならもっと具体的な情報をもってここで聞くといいと思う。 元のセルにどんなデータがどういった規則で入ってたかがわからないと何とも言えないし。
732 :
名無しさん@そうだ選挙にいこう :2009/12/09(水) 19:18:59
>>730 スキャン→読み取り なんて業務用ですらエラーが出るんだから、
そこら辺のデータを読み取るのは無理だよ。
直していくより、地道に打ち込んだ方が早いね。
>>730 文字と文字の間にスペースとか特定の記号とかあればデータ(D)→区切り位置
というのを使えば文字をセルごとに分けられる機能があるんですが。
>>722 701です。定期的にやるハメになりそうなので、マクロでやります。
ありがdございますた。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel フリガナ VBA マクロでVlookupなどから条件抽出した文字データを別のシートに貼り付けます。 その際、記載しているフリガナも一緒に貼り付けたいのですが上手くいきません。 具体的には名前とか住所のフリガナです。よろしくお願いします。
>>735 せめてどんな感じにデータが並んでて
どういうことをしたらうまくいかなかったのかぐらい書こうね
人に聞くときには、答える人の立場になって考えるといいよ。
そうすると答えをもらうために必要なものが見えてくる。そうなると相手に答えてもらえやすい
エクセルが使える携帯の購入を検討中です。 用途は基本的に四則計算程度で入力は数字がほとんどになってくると思います。 タッチパネルとテンキーのメリット・デメリット、それぞれの機種の使いやすさなど、 携帯でエクセルを利用してる方がいらっしゃったら教えていただけませんでしょうか? それか、そういったものを比較・検証しているサイト、レビューサイトをご存じの方がいらっしゃいましたら教えていただけるとありがたいです。 ちなみに、携帯の形をしているものでないといけないので関数電卓やミニノートPCなどは使うつもりはありません。
>>735 フリガナはねーセルのプロパテイなんだー
Cells(1, 1).Characters(1, 2).PhoneticCharacters = "フクニュー"
ってやるとセルkフリガナt@フクニューになっちゃうんだよね
つまり
cells(1,1).VALUE=cells(1,2).VALUE
みたいにしてもvalueが上書きされるだけでフリガナは移動されない
Cells(1, 2).Characters(1, 2).PhoneticCharacters = Cells(1, 1).Characters(1, 2).PhoneticCharacters
みたいにすればうまくいく
やってないけどsetを使ってobjectごとコピーする要領でやればきっと上手くいくはず゛た
copyメソッド使うのもいいかもしれない
関数じゃ多分無理だからvlookupの代わりに他の方法を使うべきだと思う
>>737 携帯機種板の方がいいと思います
せめてキャリアぐらい書こう
ちなみにタツチパネルで文字入力は最悪なので絶対にやめたほうがいい、というぐらいしか知らない
>>738 > 携帯機種板の方がいいと思います
レス有り難うございます。
それっぽいスレが見つからなかったもので
> せめてキャリアぐらい書こう
ウインドウズモバイル搭載してればエクセルは使えるようなので、特にキャリアにこだわりません。
> ちなみにタツチパネルで文字入力は最悪なので絶対にやめたほうがいい、というぐらいしか知らない
ありがとうございます。
キーの配列をカスタマイズできるのが魅力的なんですけど片手の指だけでの操作には限界があるかもしれませんね。
722のマクロを書いた複乳さんは素晴らしいw 俺が超初心者だった頃、Set やら With を多用されてチンプンカンプンだったので 「略さないで書いてほしい」ってやりとりしたのをふと思い出した。
741 :
名無しさん@そうだ選挙にいこう :2009/12/10(木) 01:48:50
LOT A箇所 B箇所 A 10 150 B 20 200 縦軸をA箇所 横軸をB箇所としたとき縦10と横150 20と200の 交差するところにプロットされる様グラフを作りたいのですがうまくいきません。 ご教授願えないでしょうか 20| ・ | | 10| ・ | -----------------------150----------200-----
742 :
名無しさん@そうだ選挙にいこう :2009/12/10(木) 01:49:52
20| ・ | | 10| ・ | -----------------------150----------200-----
743 :
名無しさん@そうだ選挙にいこう :2009/12/10(木) 01:52:27
>742 うまくできませんが 横軸150、200の真上に縦軸の10.20の部分が交差したところに 点を持ってきたいのですが。
>>741 軸を選択してコンテキストメニューより軸の書式設定
745 :
名無しさん@そうだ選挙にいこう :2009/12/10(木) 07:28:07
A列に年度が"2009年12月"とyyyy"年"mm"月"の形式で書かれているのを B列で年度のみの"H21"に変換したいのだがどうすればよいでしょうか? "2009年4月"〜"2010年3月"→H21
>>746 それをやると
2010年2月が"H22"になってしまうんです。H21にしたいのに・・・・
>>745 ああ、年度か。
=DATE(YEAR(B1)+IF(MONTH(B1)<4,-1,0),1,1)
こんな感じで一旦どこかのセルに計算させればいいんじゃないか
749 :
名無しさん@そうだ選挙にいこう :2009/12/10(木) 15:51:51
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい[さわり程度] 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel PDF出力 セキュリティ excelのデータから印刷不可、コピー不可のPDFファイルをVBAで出力したいのですが お勧めのPDF変換用のアドインはありませんか? マイクロソフトのOffice2007用のアドインでは出力は出来たのですがセキュリティ設定はダメでした…。 すみませんが詳しい方よろしくお願いします。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel Range.Find 見出し 検索 など | ID(見出し以外必ず数字) | 項目(ここをキーとして検索) |... 上記のような表で、Range.Find/FindNextで見出しの行をのぞいて検索したいのですが Find/FindNextを使い分けようとすると、どうしてもコードが冗長になります。 Find(...,After:= hogeCell) と FindNext(hogeCell)の違いはありますか?
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 初心者の質問です。本やネットを検索したのですがどうもわかりません。 2つあります。どなたか教えていただければ幸いです。 @画像に文字を貼りつけたいのですが、文字を直接入力して貼り付ける方法はありますか? A記号・文字等を加えた画像を一つにして移動したいのですが(何もしないと、画像動かすと そのまま記号等はその場所に残ります)、その方法はどうすればよいのでしょうか? よろしくお願いします。
>>752 大変ありがとうございます。
画像編集ソフトでやってみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 日時データにおける営業時間判定ほ法を教えてください。 土日であればよく平日である月曜日の9時、平日17時以降であれば翌平日の9時、 それ以外はそのままといった数式はありませんでしょうか。 例) 2009/12/19(土) 15:00 → 2009/12/21(月) 09:00 2009/12/21(月) 15:00 → そのまま 2009/12/21(月) 20:00 → 2009/12/22(火) 09:00 目的はメールの返信時間集計です。返信までにどれぐらいかかるかを計算したい のですが、開始日時が営業時間外ですと、一気に時間が跳ね上がるため、営業時 間計算をかませたいのです。
>754 祝日、国民の休日は考えなくていいんですか?
756 :
複乳 :2009/12/11(金) 09:32:50
>>754 =INT(A1)+(WEEKDAY(A1)=7)*2+(WEEKDAY(A1)=1)*1+(HOUR(A1)>17)*1+AND(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),HOUR(A1)>17)*-1+TIME(IF(OR(HOUR(A1)>17,HOUR(A1)<9,WEEKDAY(A1)=1,WEEKDAY(A1)=7),9,HOUR(A1)),MINUTE(A1),0)
WORKDAY関数でも良かったんだけどアドインだからやめとこうと思ったけど2007だと標準装備だっけ?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 はい・少々
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 excel 印刷設定 一括変更
複数のシートを印刷する場合に、プリンターの使用トレイを一括変更する方法はないでしょうか?
↓の質問がまったく同じなんですが解決していないようでした。
http://questionbox.jp.msn.com/qa150134.html プリンター側の設定のことになるんでスレ違いになるかもしれませんがよろしくお願いします。
758 :
複乳 :2009/12/11(金) 10:56:59
>>757 シートオブジェクトのどっかに設定があるはずなんだが見つからなかった
これが分かれば一発なんだが
変則的な解決方法は二つ
設定したシートを作る。それをコピーする。
そこに印刷したいシートの全内容(Ctrl+A)をコピーして貼り付け
更にそれをマクロに登録すれば楽
もしくは二つシートを作り、片方の全てのセルはもう片方のシートを参照するようにする
A1=sheet1!A1
A2=sheet1!A2
のような感じで
そしてシートの設定をそれぞれ通常用、裏紙用と変えておくとか
こっちのほうが最初面倒だけどマクロ等は不要
但し、列幅などを変えても変更されないんだよなぁ
いずれにせよ一括でやるのは難しいな
どーにかすればできそうなんだけど
>>756 ありがとうございます!
いただいた関数が複雑でわかりませんでしたが、やりたいことはほぼできました。
ただ、755さんのおっしゃるとおり、祝日のことをすっかり忘れておりましたので、
祝日リストなどを使って祝日判定を入れることは可能でしょうか。
何度も質問して申し訳ありませんが、よろしくお願いします。
workdayってかいてあんじゃん調べろよカス
761 :
754 :2009/12/11(金) 17:41:37
>>760 workdayは2007標準装備ですけど、workday+時間計算方法がわからないので質問してまして
http://oshiete1.goo.ne.jp/qa3554373.html workday関数を使った上記URLの式を使ってみましたが、
12/6(日) 09:00 → 1追加されて 12/7(月) 09:00 となる
12/6(日) 20:00 → 日付1+時間判定でさらに+1となって 12/8(火) 09:00 となってしまう
となって想定通りに動かなかったのです。
調べ方が悪いのでしょうが、756さんのweekdayをworkdayに置き換える方法がわからないため、
皆様のお知恵を拝借したいのです。
XP 2002、2003 社内LANのサーバに共用で使うエクセルファイルがあり、 誰かがそれを開いてたらメッセージを出してExit Subにしたいのですが、 誰かが開いてるか否かを知る方法はありますか? マクロは、その共用してるファイルとは別のファイルに書きます。 よろしくお願いします。
>754,761 当方Excel2003かつアドインなしのためWORKDAY関数が使えないので、最終的な確認が できませんが、作業列をひとつ利用する方法でできそうなので試してみてください。 1:前準備 祝日一覧をシートのどこかに設定しておき、名前を「祝日一覧」と定義しておきます。 ここは>762さん照会の方法を利用しました。 2:作業列の内容(基準となる日付時刻がA2セルから始まっているものとします) 作業列をC列とすると C2セルの計算式は =IF(AND(ISERROR(VLOOKUP(INT(A2),祝日一覧,1,0)),MOD(WEEKDAY(A2),7)>1,HOUR(A2)<17),0,1) ゼロ:当日 1:翌日以降 3:求めたい日付時刻 =WORKDAY(A2,C2,祝日一覧)+IF(C2,(9/24),IF(HOUR(A2)<9,(9/24),A2-INT(A2))) 当方で試したのは =INT(A2)+C2+IF(C2,(9/24),IF(HOUR(A2)<9,(9/24),A2-INT(A2))) なので、単純に翌日の日付時刻までの確認となっています。
765 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 02:12:04
>>741 軸を選択してコンテキストメニューより軸の書式設定
コンテキストメニューってそんなのどこにでる?
>>765 コンテキストメニューっていうのはマウスの右ボタンをクリックした時に出てくるメニューの正式な名前だよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel シート 保護 ロック 重なる 点滅 ブック内の複数のシートに対して,保護をかけたいですが, 1.ロックされたセルは,選択すらできないようにしたい。 2.ロックされていないセルは,選択できるようにしたい。 ため,ブックを開くたびに,これらの条件で保護できるように下記のようなマクロを使ってきました。(2年以上) Private Sub Workbook_Open() Application.ScreenUpdating = False For i = 2 To 21 With Sheets(i) .Unprotect .EnableSelection = xlUnlockedCells .Protect End With Next Application.ScreenUpdating = True End Sub 今までは,このマクロで正常に動作していたのですが,3日前あたりから,から下記の操作をしたときに, 「各シートがつぎつぎ表示されて,画面上も各シートの一部分が重なった状態に見える」 という症状に悩まされています。 A.ブックを開いたとき B.何からしらの編集をしたとき
768 :
767 :2009/12/12(土) 10:05:38
続きです。 解決策として, .Unprotect の行を削除すれば, 「各シートがつぎつぎ表示されて,画面上も各シートの一部分が重なった状態に見える」 は起こらないというところまではわかりましたが,これだと, 3.ロックされていないセルは,実際は選択できるものの, カーソルの形状が「選択できないときと同じ白色の太いプラスマーク」のまま となってしまいます。 正常に使えなくなる直前に新たなアドインなども入れていませんし,また,すべてのアドインを 削除してみても状況は変わりませんでした。 この間にあったのは,Office2003のMicrosof tUpdate なのですが,これによってExcel2003の挙動が 変わったのでしょうか? 何か,わかる方,よろしくお願いします。
>この間にあったのは,Office2003のMicrosof tUpdate なのですが,これによってExcel2003の挙動が >変わったのでしょうか? そりゃそうだろw
>>763 読み取り専用 かどうかを調べる構文ならあります。
ただし元々のファイル属性が読み取り専用の場合でも同じ結果が返ってきますが。
771 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 11:38:19
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 sendkeys vista 経過・状況 xpでは正常動作するものの、vistaでは無効になるのでmicrosoftで調べてservice packで 更新してみたものの変化無し。 2007では時間がかかることから2003を継続中 希望 sendkeysを使わないでやる方法がベターとのことなので作り替えたいのですが、vbaで可能なのでしょうか?
772 :
771 :2009/12/12(土) 12:56:02
人に訊く文章になっていませんでした。 無視してください。 orz
773 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 15:44:26
質問です A1に愛知県があってB1に愛知と返したいです。 たまに和歌山県みたいに3文字もあるので そう行った場合どうすればいいでしょうか?
>>773 =SUBSTITUTE(A1,"県","")
>>773 >>774 に手を加え都道府県対応
=SUBSTITUTE(A1,RIGHT(A1,1),"")
777 :
776 :2009/12/12(土) 17:09:53
でも北海道はそのままがいいかな? =IF(A1="北海道",A1,SUBSTITUTE(A1,RIGHT(A1,1),""))
例えとして愛知県を使っただけで実際の対象は都道府県と無関係に100ペリカ
779 :
776 :2009/12/12(土) 17:26:35
かもしれないけど中部・近畿地域を例にしているので最低大阪や京都も考慮 したほうが良いかと思って。
780 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 17:35:03
>>774 >>776 ありがとうございます。
3文字が気になっていたので。とにかくありがとうございました。
781 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 17:43:07
>>776 その式の意味分りませんが例えばハンセンって入れるとハセになるんですねw
782 :
776 :2009/12/12(土) 18:05:47
>>781 ”ハンセン”と違って幸いにも47都道府県の名前自体に”都””府””県”
の漢字が入っている自治体は無いから出来る訳だけどひらがな(カタカナ)
やアルファベットだと問題があるかもしれませんね。
783 :
名無しさん@そうだ選挙にいこう :2009/12/12(土) 18:31:28
>>782 なるほどw 式の意味が分りましたw 助かりました
どこかであったんだが、、、 ifのネストの制限を回避するひけつ、教えてくれ。 もうどうにもならん(泣。
>>784 多重ネストなんてバカのすること。素直に列を分けろ。
>>784 and、or関数
ifを使わずに論理式
vba
作業列
ifの数式を整理
例えば
=IF(A1=1,"いち",IF(A1=2,"に",""))
のネストを省こうと思えば
=IF(A1=1,"いち","")&IF(A1=2,"に","")
の用に書くこともできる。数値なら&ではなく+にすれば良い
ま、ぁネストでもいいんじゃないの。あってたら
IFをやたらとネストしたがるのは、まあ、知識不足の初心者に多いな。 普通は論理式、作業列、ユーザー定義関数なんかを使う。
結局、ワンライナーで書かなきゃいけないわけだから ネストできる数には限りがあるけどね。 else if を使うなら、switch/caseか配列で代用しようとするのは常套手段だが、Excelじゃ使えないみたいだな… もっとも、IFを連ねなければいけない状況にはなったことないな。あきらめて作業列を作るし あと、VBAで自分で関数定義できたんだな。てっきりVBAで宣言した関数はVBAの中でしか使えないと思ってたわ。 これは利用しない手はないな。
790 :
784 :2009/12/13(日) 08:03:28
みんなありがとう。 だいぶヒントがあったよう。 希望した回答とは違うが、、、 >>VBAで宣言した関数はVBAの中でしか使えないと思ってたわ。 ほんと? 酔ってきたので、寝るわ。 あ、漏れ環境は2008(Mac)、仕事場が2K(Win)だったかな、要は古いやつ。
>>789 それはchoose関数で代用できる
どうせならselect関数とかな名前がついてたらもっと使うのにね。知ってたらすげー便利よ
配列も{}括弧でくくれば何かできた気がするんだがよく覚えてないな。
792 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 13:34:37
質問です 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excelを2つ開き、それぞれにブックAとブックBを開きます。 リンク先のブックAのSheet1A1と、リンク元のブックBのSheet2A1をリアルタイムでセル同士をリンクさせたいのですがうまくできません。 同じExcel内にブックAとBを開けばできるのはわかっていますが、上記の方法だとブックBのSheet2A1の値が変わっても ブックAのSheet1A1の値が変わりません。 下手な文章で済みませんが、何か良い方法があれば教えてください。
>>792 VBAでイベントを拾って更新かけてやるくらいかなあ。
そこまでしてExcelをふたつ立ち上げる理由が気になるけど。
794 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 15:28:55
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 条件付き書式 反映 描画 条件付き書式を2つ以上設定した場合、書式が反映されません。 実際使用した条件付き書式は以下の2つです。 [1つ目] 数式:「=$C$1<>0」 適用先「=$A$1:$A$10」 書式:セルを赤色にする [2つ目] 数式:「=$C$15<>0」 適用先「=$A$15:$A$20」 書式:セルを黄色にする このルールを作成し、セル「C15」に2を入力しEnterで決定後、A15からA20のセルは黄色になると思うのですが、 全く色が変わりません。その後、A15からA20をドラッグで範囲選択したり一度画面を切り替えると黄色くなります。 これはバグなんでしょうか?計算方法は自動にしてあります。
>>794 垂直同期か何かをしていますか?
上書き保存すると自分がかけた設定が反映されますか?
796 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 15:33:44
>>794 本当に計算方法が自動になっているか確かめた?
画面を切り替えると・・・というところからすると、計算方法が「手動」に設定されているっぽいよ
797 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 15:44:58
>>795 ありがとうございます
垂直同期にはなっていません。
上書き保存して一度閉じ、再度開いても現象は改善されませんでした・・
>>796 ありがとうございます
まっさきにそれを疑ったんですが自動になっています。
ちなみに今、一度手動にしてから再度自動設定にしてみましたが
改善されませんでした。
もし2007をお持ちの方がいたら再現性があるか確認してもらえないでしょうか
798 :
792 :2009/12/13(日) 15:54:08
>>793 やはりVBAしかないですか。
レスありがとうございます。
>>794 2003でもやってみた
一つ目の式の滋養軒付き書式を入れたあと、C1に1を入れてみるとA1:A2だけ色が変化
ドラッグしたり他のウィンドウで一旦各したりすると色が変化する
再計算しても変化なし
バグじゃないですかねぇ
>>794 うちの場合2000だけど、一つめの式試してみたら、たしかにおかしい。
でも二つ目は普通に反応した
一つ目の式は、C1に0以外入れても、A1:A2しか色が変わらない。
画面を切り替えるとA1:A10まで反映される。
C10になにか適当なDataをいれると、A10の色は反映される。(A3:A9は反応しない)
各行に適当なデータをいれDeleteしてやると、上手く行く。
思うにデータがない行やアクティブにしてない箇所は反映をサボってる感じがする。
でも二つ目のやつは普通にできたけど。
801 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 16:07:19
>>799-800 ありがとうございます。2007以外でもダメなんですね。
やはりバグという可能性が高いですね・・。
>>800 2007だと2つ目も反映されませんでしが、2000だと大丈夫なのですね
>>792 ”リンク貼り付け”しとけばsheetBへ入力EnterでsheetAの貼り付け箇所が即座に
変わるけど。
ちなみに2002ですが。
803 :
800 :2009/12/13(日) 16:38:06
>>801 追試してみたけれど
A1:1A100まで範囲選択して同じ条件書式つかったとき
A3:A16が反映しなくて、それ以外の行は反映した。
条件を見に行くセルをC3に変えてみたら
A3:A4の色が変わって、A1:A2とA5:A16の色は反映しなかった
次にC5になにか適当なデータをいれるとA5:A6の色が反映され
さきほど反映されていたA4が反映されなくなった
思うに、
16行目までについては処理が特殊であり、
なにかデータが入ってる行とデータが入ってる最終行の次の行のみが
反映されるようだ。
ちなみに、A1にのみ条件書式を設定してそれをコピーしてA1:A16まで
張り付ければちゃんと期待通り動作する。
Excelにとって16行目ってなんか古い仕様で特殊なのあるのかな。
804 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 16:52:28
>>803 追試ありがとうございます。
こちらでも同様で現象が起きました。
データが入ってる行+その次の行は反映されるようですね。
>ちなみに、A1にのみ条件書式を設定してそれをコピーしてA1:A16まで
張り付ければちゃんと期待通り動作する。
こちらだと正常に反映されること確認できました!
今まで範囲選択で条件付き書式を設定していましたが、
コピペで1つ1つ設定していくと正常になりますね。
この設定でいきたいと思います。
本当にありがとうございました。
>>794 同じように設定してみました・・・・・・が、動作というか反映が不安定です。@2002
一度画面を切り替えると反映されたりします。
うちのは1つ目の設定でA1〜A3までしか色がつきません。
2つ目のは問題なく反映しました。画面を切り替えて再び画面を見ると反映されていたりします。
ナニコレ?
806 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 17:07:46
>744 縦軸と横軸のどちらをどのようにいじればよいのでしょう? 交差した点にプロットされず >742のような縦軸のみに反映した場所にプロットされてしまいます。
>>806 なにをしたいのかよくわからん。
交差するってどの線とどの線が交差するの。
プロットするって、どのデータをプロットするの。
808 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 17:45:10
>>794 2003だけど、ちゃんと反応するよ?
なんか取り残された感じがするw
809 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 18:47:28
ピボットテーブルについて教えてください 平均なんですが、「加重平均」ってできないのでしょうか?? 単価などの加重平均を出したいのですが、どうしても単純平均になってしまいまして…
>>809 多分無理かな。
ピボットではデータ抽出までにして
その先は数式でやればどうだろう?
811 :
名無しさん@そうだ選挙にいこう :2009/12/13(日) 19:01:30
>>810 やはり無理ですか…
ググってもググってもそれらしきものがでなかったし…
地道にやります、どうもです
単価×数量の値をだして、その平均をピボットでとればいんじゃないの
813 :
せんせー! 質問です! :2009/12/13(日) 21:02:16
excel 2002 をWinXPで使ってます。 セルの説明などで追加できるコメントについてです。 コメントのフォントの色を代えて見やすくしています。 色分けしたコメントの内容を、コピーして他のコメントに貼り付けると 色の情報が無視され、全て黒のフォントに変更されてしまいます。 コメントの内容をコピーして、貼り付けるときに、色分けした文字を 有効にする方法を教えてください m(_ _)m
2003でコントロールツールボックスからオプションボタンなどを使おうとしていますが Captionの文字が太いというか汚くてチェックなりすると普通のワークシートに表示される フォントと同じになって別なところをチェックすると一瞬間をおいて元に戻ります。 この汚い文字を通常のままにすることってできますか?
815 :
名無しさん@そうだ選挙にいこう :2009/12/14(月) 01:47:22
くだらない質問ですがお力をお貸し下さい。 現状、Word Excelで文字や表作成、計算程度はできますが どちらも使いこなせているというほどではありません。 そこで、「完全制覇」シリーズなどの書籍を使いながら 勉強してみようと考えています。 ただ、オフィスのモバイルPCは2003、当方のPCは2007です。 互換性や操作感がかなり違うという話をよく聞きますが いまから始めるのであれば、2003より2007の方がいいでしょうか?
816 :
名無しさん@そうだ選挙にいこう :2009/12/14(月) 01:50:59
>>815 オフィスのモバイルPCは2003
↓
会社のモバイルPCは2003 の方が誤解を与えないですね。
連続書き込み申し訳ありません。
>>815 似ている部分もあるし違う部分もある。
関数やマクロなどの基礎的な部分はどちらでも共通で使える知識が多い。
仕事で使うんなら会社の環境に合わせて優先順位を決める。
趣味で覚えるんならまずは2007。ただしマクロを重点的にやりたいなら2003。
最終的には両方使えるのがベスト。
819 :
名無しさん@そうだ選挙にいこう :2009/12/14(月) 03:59:13
>807 交差するってどの線とどの線が交差するの。 横軸150、200の真上に縦軸の10.20の部分が交差したところに 点を持ってきたいのですが。 プロットするって、どのデータをプロットするの。 LOT A箇所 B箇所 A 10 150 →AとBの接点部に B 20 200 散布図として点を表示したいのです・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル マクロ 開かずに 印刷 マクロで、別ブックの任意のシートを、開かずに印刷したいのですが、 そういうマクロがあったら教えてください。
>>819 あいかわらず、わからないけど
X=175, Y=15で軸を交差させたいの?
縦軸(Y軸)をえらんで軸の書式設定→目盛り→X/数値軸との交点175
横軸(X軸)を選んで同じ手順でY/数値軸との交点25
822 :
複乳 :2009/12/14(月) 11:37:20
>>818 一日に付き一つのファイル?
それとも12/2の下に12/3が来る?
823 :
複乳 :2009/12/14(月) 11:38:02
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 シート名 関数 A B C _________________________________ 1| 100 あああ XXXX 2| 101 いいい ZZZZ 3| 102 ううう YYYY 4| : : : 6| : : : Aの列に入っている文字列(100)と同名のシートが同じブック内にあります。 B1(あああ)やC1(XXXX)の部分を 100のシートのセルから参照したいです。 例えば ='100'!B5 実際のシート名を記述すれば参照できますが、 A1の値を元に参照させることはできますでしょうか? また1の行を複製して2の行を作った場合、B2は='101'!B5とペーストされてほしいのですが ='100'!B6になってしまうのも困ってます。これは回避できますでしょうか? たくさん行があるので、手で修正するとミスりそうなので、コピペしたいのです。
825 :
824 :2009/12/14(月) 15:52:02
あああ、ズレズレになってしまった。orz 不慣れなものですみません。 意味不明になってしまったかも知れませんが、 何とか質問の意図が汲み取れた方はご回答おねがいします。
>>824 =INDIRECT(A1&"!B5")
827 :
824 :2009/12/14(月) 16:29:11
>>826 すごい!!できました!
感謝です。ありがとうございます。
828 :
複乳 :2009/12/14(月) 18:01:36
>>818 こんなんじゃだめかねー
Sub Macro1()
Sheets("sheet1").Select
hizuuke = Cells(1, 1)
g = Range("A1000").End(xlUp).Row
For k = 3 To g
meekaa = Sheets("sheet1").Cells(k, 1)
x = Sheets(meekaa).Range("A1000").End(xlUp).Row
For i = 1 To x
If Sheets(meekaa).Cells(i, 1) = hizuuke Then
Sheets(meekaa).Cells(i, 2) = Sheets("sheet1").Cells(k, 2)
Sheets(meekaa).Cells(i, 3) = Sheets("sheet1").Cells(k, 3)
Sheets(meekaa).Cells(i, 4) = Sheets("sheet1").Cells(k, 4)
Sheets(meekaa).Cells(i, 5) = Sheets("sheet1").Cells(k, 5)
End If
Next
Next
End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 シート"P1"のA1に =DATA!C3+DATA!C4 と入ってるとき、シート"DATA"のC3が どこの(シートの)セルと繋がってるのか調べる方法があったら教えてくださいですo
>>829 ツール→ワークシート分析→数式の検証→ステップイン→(行き着くとこまで)ステップイン。
>>828 ありがとうございます。
そんなシンプルにできるとは・・
こういうの作ろうとする時に何が必要で何から設計していけばいいのか上手く理解できてなかったです。
勉強なりました。
>>830 レスありがとうございます。
ツール→ワークシート分析→数式の検証 までは追えたんですが、ステップイン以降は
ボタンが[閉じる]しか現れませんでしたo 何で???
833 :
名無しさん@そうだ選挙にいこう :2009/12/15(火) 08:19:14
質問です エクセル2003にて ペイントで作った画像を張り付けるとき、透明色を指定する事はできますか? クリップアートそのままなら背景が透明なんだが、少し加工したい場合透明に出来なくていつも困っています。 他のスレで質問したのですが一週間答えがなかったです
2003じゃ図の透過処理はなくなったんじゃないかな? その代わり、元の図のほうを透過PNGとかにしときゃ透過するよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 R1C1 Cell Range 3列目は「C」、30列目は「AD」ですが、この3や30という数値から「C」や「AD」という文字を取得するには どうすればよいのでしょうか?
836 :
複乳 :2009/12/15(火) 12:38:49
コード(変数)がファイル名の先頭に入ったエクセルファイルを取得するマクロを組んでします。 Dir(ThisWorkbook.Path & "\" & コード & "*.xls") 上記だとうまくいかないのですが、どこがおかしいんですか><
↓このようにデータが並んでいるのですが、 a b c d e f g h i dとeの間にxが入る場合、↓のようにしなければなりません。 a b c d x e f g h i この並べ替えが結構面倒なのですが、簡単にやる方法はないでしょうか?
>>838 別シートか別の場所に1次元のリストを作っておいて
そうやって並べるときには、ソノシートを参照すればいい。
ロジック・データ・インターフェースを分離するのは基本中の基本
ソノシート -> そのシート ソノシートってなんかの用語っぽいな。感じの御返還はまだ読めるが、カタカナで書かれたら勘違いするよなw
ソノシートってあれじゃん、雑誌の付録とかで付いてたレコード
>>839 すみません、その参照のしかたを教えていただきたいのですが。
843 :
複乳 :2009/12/15(火) 16:42:58
>>838 まずsheet1に縦一列にデータを並べる
そしてsheet2でそのデータを横3列のデータにする
sheet2!a1=INDIRECT("sheet1!r"&(ROW()-1)*3+COLUMN()&"c1",0)
後はこれを縦横にオートフィル
845 :
名無しさん@そうだ選挙にいこう :2009/12/15(火) 20:39:19
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 時間 03/01という日付と01:00という時刻を合体させ、 03/01 01:00という風にするにはどうすればいいですか? よろしくお願いします。
足し算して書式をmm/dd hh:mmn
シリアル値でも文字列でもどっちでもいける =A1+B1 =A1+" "+B1
>848 それは2007ならできるってこと?
>>849 全バージョン可能と思う。95以前は知らんけど
聞く前に試してみれば
シリアル値は整数部分が日付 小数部分が時刻になってる だから普通に足せばOK
【1 OSの種類 .】 Windows7 (64bit) 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】「Excel 上方 参照」など ※まどろっこしい質問なのですが、ご容赦ください。 ググりキーワードが思いつかず、こちらに駆け込んだ次第です。 現状このような列があります。 ---- [H列] ←A〜G列の値にもとづいて、減算またはソノママ。 4,000 4,000 4,000 3,600 ---- やりたいことは以下の2点です。 ・上のセルに等しい場合は「−」と表記したい。 ・一つ上が「−」の場合でも、元々あるべき「4,000」を参照したい。 (参照できないと、そのセルを計算できない) ---- [H列] 4,000 − − 3,600 ---- どなたか、どうかご助力ください…><
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 ソフトウェアの償却を、3年償却の定額法で月割計算したいのですが、 ググっても年間の償却費を計算する作例しかみつけられませんでした。 見よう見まねで、月割で計算できるものを作ってみました。 このとき、点線内だけでも数行を使ってしまうので、月割計を計算するのに 1〜2行程度でまとめる方法があれば教えてください。 商品が多数あるので、できるだけシンプルにしたいです! (ただし、行を非表示にするのはナシでw) 12月から償却が始まるとき 10月 11月 12月 1月 2月 3月 支払 1,000 5,000 2,000 1,000 0 2,000 償却対象 8,000 1,000 0 2,000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 555 555 555 555 69 69 69 0 0 139 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 月割計 555 624 624 763 よろしくお願いします。
854 :
853 :2009/12/15(火) 23:47:35
誤記訂正です。すみません。 誤 定額法 正 定率法
>>852 2007なら条件付き書式で上のセルと等しいときに表示形式を"-"になるようにすれば
いいとおもう。
>853 定率法であろうと定額法であろうと月単位なら 該当年の償却費÷12だろ・・・
857 :
名無しさん@そうだ選挙にいこう :2009/12/16(水) 00:07:20
20 ・ 10 ・ 150 200
858 :
名無しさん@そうだ選挙にいこう :2009/12/16(水) 00:15:53
>>853 10月に支払いが発生しているということはソフトウェアの導入は10月から?
で、減価償却は12月から3年後の12月まで?ていうか耐用年数と残存価額は?
>>856 12で割ったのを並べてますが?
8000→555とか、1000→69とか。
>>859 商品の量産開始月が12月なので、そこから償却が始まると聞きました。
設計部なので、経理上の詳しい説明ができませんが、12月から
2012年の3月までだと思います。3月が期末決算なので。
耐用年数は3年償却なら3年ではないのでしょうか?
残存価額は初耳なので、意味が分かりません・・・・ orz
861 :
849 :2009/12/16(水) 00:37:37
>>848-850 > =A1+" "+B1
2003だけど、やっぱこれはできないですよ・・・
で、2007ならできるの?それともただの勘違い?
862 :
名無しさん@そうだ選挙にいこう :2009/12/16(水) 00:46:08
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 どうしても分からないので、どなたか教えてください。 それぞれの人の12月の在籍営業日日数は何日かを調べるときは、 どのような関数を組めばよいでしょうか。 氏名 開始日 終了日 Aさん 2009/10/1 〜2009/12/31 (当月以前〜当月 ) Bさん 2009/12/1 〜2009/12/18 (当月 〜当月 ) Cさん 2009/12/21 〜2010/01/31 (当月 〜当月以降) Dさん 2009/10/1 〜2010/01/31 (当月以前〜当月以降)
>>860 あー、やっと意味が分かった。
例えば3月の、555と69と0と139の月割合計763だけを表示したいと言う意味?
555と69と0と139はどこか他のシートやブックからリンク飛ばしてますか?
それなら単純に足し算すればよいのでは・・・?
>>853 経理知らんけど、
今月の月割り計 = 今月の対象額 * 月割り償却率 + 先月の月割り計
ってするだけいいんじゃないの。
865 :
853 :2009/12/16(水) 00:59:27
>>859 残存価額について調べてみました。
残存価額 = 減価償却資産の取得価額 ×残存割合
(無形減価償却資産は0%)
ゆえに、残存価額 = 0 で良いのでは?
>>863 月割合計763だけを表示したいと言う意味です。
他のシートやブックからリンクを飛ばしていません。
4月から償却を始めると、巨大な逆ピラミッドができてしまうので、見た目で
こんな感じにできればと。。。
10月 11月 12月 1月 2月 3月
支払 1,000 5,000 2,000 1,000 0 2,000
償却対象 8,000 1,000 0 2,000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
月割計 555 624 624 763
866 :
853 :2009/12/16(水) 01:06:53
>>864 あ、累積していけばいいみたいですね。
ありがとうございました。
867 :
864 :2009/12/16(水) 01:49:05
>>866 おれは経理わからんので、数字合わせをしただけだが
本当にそれでいいのかちょっと疑問が残る。
12月を起点に掛かる償却対象は、いつか終わるんじゃないのか。
そうすると、その表は三角ではなく平行四辺形になるはずだ。
だとすれば、いつまでも単純に累計とってると間違うよ。
自分の求めたい数字がなんの累計なのか、よく考えてね。
>>861 うーん、どちらにせよ、DateTime型のまま直接足しあわせた方が
融通聞くからそれを使えばいいんでない?わざわざ茨の道を通る必要ないよ。
ちなみに2003だろうが2007だろうが2010だろうが文字列連結演算子は&です。
思いっきり関係ないけど、2010で配色を黒にするとメニューの前景色が灰色になって読みにくくなる件について。
アクティブなタブはコントラストを高くしてあるから、ケアレスなバグじゃないと思うけど…
注目すべきはむしろ非アクティブなタブだから、設計が間違ってるようなw
http://imagepot.net/view/126089707050.png こういうやつって何処に凸入れればいい?
>>813 をよろしくお願い致します m(_ _)m
871 :
名無しさん@そうだ選挙にいこう :2009/12/16(水) 07:44:52
>>862 エラーケースを考えなければB2開始日、C2終了日として
=(MIN(C2,"2009/12/31")-MAX(B2,"2009/12/1")+1)
空白セル対応、期間に12月が入っていない・・・などの対応はしてないよ。
872 :
757 :2009/12/16(水) 09:42:29
>>758 遅レスで申し訳ありません。ありがとうございました。
別のシートを作るのは思いつきませんでした。その方法でやってみようと思います。
しかしexcelもビジネスユース考えるんならその辺も何とかしてほしいですね。。。
873 :
複乳 :2009/12/16(水) 09:43:42
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少しだけ 【4 VBAでの回答の可否】 可 複数のエクセルファイルを検索し、該当する列を 別ファイルに順々に表示させていきたいですが、可能でしょうか。 下のように、AAAとBBBのようなファイルがあって、B列が222であるものを、 XXXファイルに表示させていきたいのです。 AAA.xls A B C D E 111 222 333 444 555 111 333 333 333 444 111 222 444 444 444 BBB.xls A B C D E 222 444 333 444 555 222 333 333 333 444 222 222 444 444 444 XXX.xls A B C D E 111 222 333 444 555 111 222 444 444 444 222 222 444 444 444
875 :
複乳 :2009/12/16(水) 11:04:30
>>874 ようはExcelをRDBとして使いたいわけだろう?
しかも、対象となるテーブルがいくつもある…
CSVで保存されていれば
copy /b *.csv cat.csv (ディレクトリを再帰的に探索してくれるかは不明)
for /R "PATH" %%i in (*.csv) do copy /b "PATH"\cat.csv+%%i
すればおk。*.csvファイルを検索して、一時フォルダにコピーして連結させたほうが確実かもしれない。
あーでもExcelは65536行までしか扱えないからはまるかも。
xlsで保存されているならCOMやVSTO、もしくはVBAを使わなきゃいけないと思う
Accessがあるなら割と簡単に事は済みそうです↓
http://www.ken3.org/vba/backno/vba128.html
>>757 強引なやり方だと、Excel開いたままで、
コントロールパネルの通常使うプリンタの設定を変えると
今変えたプリンタ/トレイでの印刷になる。
その切り替えが簡単かどうかは別だけど・・・
Excelでできなくてもそういうプリンタ切り替えるフリーソフトあるかも。
>>757 一度、PDFに出力してしまえば、あとはAdobe Readerの問題になるのでは?ただし2007以降限定だけど。
そうすれば、試し刷り->印刷。 清書->PDF->印刷でできる気がする。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 必須 【5 検索キーワード 】 ? テキストボックスの中を検索して、その結果の一つをリスト(セル)に追加する物を作ったんですが 追加するところをうまく表示するにはどうしたらいいですか? UIはこんな感じです 01 02 [ TextBox ] 03 検索結果/追加候補1 04 検索(ry) 2 ----分割線--------- 50 追加結果1 51 (ここに追加される) 60 (このあたりは画面外。ここに追加するときに、ここが見えるようにしたい) ちなみに、Range.Select ; TextBox.Selectすると TextBox.Selectの時点でまたTextboxにスクリーンが移動し、またセルにフォーカスが残ったままなので 完全に意図することと逆の結果になりました
>>879 テキストボックスの中を検索て、テキストボックスが複数あるのか?
それともカンマ区切りとかでなんか入ってるのか
まあ、コンボボックスなのかもしれんが
>>880 Textbox.text をクエリとして検索すると言うことです。
Textboxに入力、名簿からインクリメントサーチして候補を表示
その候補を選択して、リストに追加する物です。
リストはExcelのセルをそのまま使ってます。
そこで、上部の検索部、下部のリスト部をウィンドウ分割を使って同時に表示してるのですが
下のパネルを自動でスクロールさせたいのです。
一応、Pane.ScrollRow プロパティを使えばいいことはわかりましたが
Windows(w).Panels(p).ScrollRow = appendedCell.Row
wやpに何を入れればいいのかわかりません。
ThisWorkbooks.Windows(w).Panels(p).ScrollRow
とすることで、w = 1 の決め打ちでどうにかなると思います。
(0を指定するとなぜかエラーが起きます。VBAでは序数を1から数える特殊な習慣があるのでしょうか?)
>VBAでは序数を1から数える特殊な習慣があるのでしょうか? 仕様だね、VBAのコレクションは1から始まるから Windowsもコレクションの1つだから
>>881 Windows(w).Panes(p).ScrollRow = appendedCell.Row
Windows(w)は複数のウィンドウを開いて無ければw=1でもOK
複数開いているなら開いた順番になる
Panes(p)は上下の2分割ならp=2でOK
複数ある場合は左上→右上→左下→右上の順番だから
左上ならp=1、左下ならp=3になる
>>882 なるほど、それは注意しないといけないですね。
'Cellsのrow/col指定も1から始まりますね。これは見出しの数字に合わせるためだと思っていましたが…
'別の理由からですか。そうなると、配列が0から数えるのは謎ですね。(1から数えられたらそれこそ苦痛ですがw)
結局、Windows.CountやPanes.Countを利用することで解決しました。
やはりThisWorkbookWindows.Countは必ず1になるようでした。(つまり、ThisWorkbookWindows(1)は捜査対象のウィンドウに確定)
解決しました。どうもありがとうございました。
後学のために例を残しておきます。 Private Sub ShowCursorAtBottomPan(tgtRow as integer) Const offset As Integer = 10 Dim win As Window Dim topRow as integer Set win = ThisWorkbook.Windows(1) ' ThisWorkbookでWindowは確定する。Windows.Countは必ず1になる topRow = offset + tgtRow Select Case win.Panes.count '画面の分割数によって場合分け Case 1: '画面を分けてない場合 'noop Case 2: win.Panes(2).ScrollRow = topRow Case 3: 'あり得ないが、一応。 ここでエラーログを取るのも良い win.Panes(3).ScrollRow = RListDataStartRow + RListCursorPos - offset Case 4: win.Panes(3).ScrollRow = RListDataStartRow + RListCursorPos - offset Case Else: 'これもあり得ないので、エラーログ対象 End Select End Sub そういえば、関数の呼び出し元を調べられるリフレクションクラスなんてありませんよね… もっとも、本来は使い捨てのマクロを書くための物ですから、無くて当然かもしれませんが。
886 :
名無しさん@そうだ選挙にいこう :2009/12/17(木) 21:53:32
シート1のA列とB列にそれぞれ 伊坂幸太郎 重力ピエロ 我孫子武丸 殺戮にいたる病 東野圭吾 悪意 伊坂幸太郎 鴨とアヒルのコインロッカー 東野圭吾 手紙 ・・・ とあった時に シート2のA列にそれぞれの名前があって そのA列の名前とシート1のA列と同じ名前のB列を 下記のように一つのセルに自動的にまとめて表示したい場合どうすればいいのでしょうか? 伊坂幸太郎 「重力ピエロ、鴨とアヒルのコインロッカー」 我孫子武丸 「殺戮にいたる病」 東野圭吾 「悪意、手紙」
>>886 =Sheet1!A1&"「"&Sheet1!B1&"」"
シート2のA1に貼り付ければいいんじゃないの?
ところでその推理小説と作家名みたいな例題は何・・・・?
888 :
名無しさん@そうだ選挙にいこう :2009/12/17(木) 22:12:09
>>887 ありがとうございます
例題は特に意味はなく、ただわかりやすくしただけです
>>888 あ、自動的に名前が重複してるのを一緒に表示させたいって話でしたね。
すみません。
べつに誤るこたーねーだろん?
891 :
名無しさん@そうだ選挙にいこう :2009/12/17(木) 23:01:35
892 :
名無しさん@そうだ選挙にいこう: :2009/12/18(金) 03:34:34
質問です。 たとえば、セルに1と入力したら、別の表で指定している数値で計算したいのですが。 1=5と決めておいて、1と入れたら合計欄には5と出るようにしたいのだが。 すいませんが教えてください。エクセル2007です
>>892 入力セル =A1
合計欄 =B1
で、A1に1が入らない時は空欄という場合は、
B1 =IF(A1=1,5,"")
>>892 「別の表」って言ってるものが「1=5」の1を左の列、5を右の列に入れた形式の表なら、
vlookup関数を使う。
=vlookup(「1」が入ってるセル,「別の表」,「5」が入ってる列の位置,true)
間違えたけど、Excel版もねね
897 :
892 :2009/12/18(金) 10:06:02
>>893 ありがとうございます
で例えば、1=5の他にもたくさんあってその合計の場合もいけますか?
2=6や3=7があってセルの表に、1 2 3と順番に入れたら合計欄に18と出るようにしたいのですが。
>>897 ちょっとは応用しろ
同じパターンの数式を必要なだけ並べるだけだ
回答する先生は、もっとやさしくしろやハゲ!
900 :
893 :2009/12/18(金) 20:59:08
>>893 は1=5にのみ対応してます。
1=5
2=6
3=7
ということなら
=A1+4がいいね。
901 :
名無しさん@そうだ選挙にいこう :2009/12/19(土) 00:10:20
【1 OSの種類 .】 WindowsXP-Pro
【2 Excelのバージョン 】 Excel2007 Bussines
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 excel 2007 vba 実行 ボタン
Excel-VBAを勉強し直そうと簡単なコードを実行しようとしていますが、
意図した動作が実現できず困っています。
(当時はExcel2000)
目標はボタンを押して2つのセルの合計を隣のセルに出すというもので、
全体像は下の通りです。
http://uproda11.2ch-library.com/215659A7q/11215659.png 単にデザインモードを解除しボタンを押せばC1,C2のセルに合計の9と5が
出ると思ったのですが何も変化しません。
※リボンをホームにしても空白のままです。
ただし、VBAウインドウの書式の下の緑三角ボタン(実行ボタン?)を押すと
指定したセルに合計の9と5がでます。
どうしたら良いでしょうか?
>>901 イベントを書く場所が違ってない?
ボタンをダブルクリックするとイベントが出るからそこに書くんだよ
>>902-903 さんきゅうです。
コードをボタンのコードウインドウに書いて実行できました。
また、コードウインドウも (General),(Declarations)の組にしてもOKでした。
905 :
名無しさん@そうだ選挙にいこう: :2009/12/19(土) 01:40:26
あのエクセルでワークスケジュール?っていうのを作りたいんだけど、 出勤時間と退勤時間を入力したら、自動で棒が延びる線が出るやつってつくれます? ■■■■■←こうやって勤務時間がでる また、時間の早いもの(早く出勤して早く退勤する早番)から上に出したいんだけど・・。 エクセルでつくれますか? 2007です。
906 :
名無しさん@そうだ選挙にいこう: :2009/12/19(土) 01:41:54
■■■■■■ ■■■■■■ ■■■■■■ こんな感じです。自動で。
つくれます
908 :
名無しさん@そうだ選挙にいこう :2009/12/19(土) 07:56:21
済みませんが宜しくお願いします 【1 OSの種類 .】 Windows 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ(全くの素人です) 【4 VBAでの回答の可否】 否(VBAで処理するのに参考になるものでしたらお願いします) 物が売れたデータを基にして、商圏を調べるデータを整理したいのですが、 以下のデータから以下のように整理したいと思うのですが、やり方や、参考になる事例などを教えていただけたらと思います。 ◆手元にあるデータ (1)顧客の住所(都道府県から市町村レベルまで) (2)(1)から、顧客の居住地から当店までの距離を測定したもの (3)初めて顧客になった年月 (4)当店で買い物をした理由(5択)(数字番号と、理由どちらで記したものもある) ◆求めたいデータ (a)顧客の居住地までの距離と件数を表したもの(年別に表したものと、全体でまとめたもの) 例えば20キロ単位(0〜20キロとか、120〜140キロ)で何件あるかをグラフにしたものと、それを2次式で近似した数式 (b)(4)を用いて、1の理由⇒??%、2の理由??%という円グラフを作成したい
>>908 とりあえずピボットテーブルを調べてみて。
そしたらほとんど解決するから。その後、未解決の問題だけもう一度質問して。
910 :
名無しさん@そうだ選挙にいこう :2009/12/19(土) 11:15:34
>>909 有難うございます
勉強しながらやってみます
質問ついでにあと一つ伺いたいのですが、
ある列において、A行、B行の値がそれ以前に入力したデータのある列と全く同じ場合に、
C行、D行に、その列と全く同じ値を自動的に入力するような事って出来ます?
911 :
名無しさん@そうだ選挙にいこう :2009/12/19(土) 12:32:00
>>871 ありがとうございました。
ただ、12月の日数はカウントできてるのですが、
そこから営業日がカウントできないのです。
NETWORKDAYSとかと組み合わせればよいものでしょうか・・・。
>>910 ABの組み合わせによって決まる値を別テーブルに用意しておき、VLOOKUPで参照したらよい。
913 :
名無しさん@そうだ選挙にいこう: :2009/12/20(日) 00:20:38
>>913 丸投げすぐる
シートのデザインぐらい自分でやれ
自分でできない部分だけを聞け
あと質問にはテンプレ使え
915 :
名無しさん@そうだ選挙にいこう :2009/12/20(日) 00:56:18
>>912 有難うございます
そんなことも出来るのですね
段階的にやってみます
=SUMPRODUCT(($BN$14:$BN$709<=25)*($BX$14:$BX$709>0)) ここの $BN$709 の部分を外部のセル参照にできないものでしょうか? 気持ち的には =SUMPRODUCT(($BN$14:A1<=25)*($BX$14:$BXA1>0)) ^^^ ^^ A1 には ”BX300” とかが入ってます
間違えた =SUMPRODUCT(($BN$14:A1<=25)*($BX$14:$BXB1>0)) ^^ ^^ A1 = BN300 B1 = BX300 とかです
>>918 ありがとうございます
今から調査します!!!
920 :
名無しさん@そうだ選挙にいこう :2009/12/20(日) 20:49:09
>>918 できました!!!!
ありがとうございました
ついでと言っては何ですが、以下のような使用法は駄目みたいです。
解決法がありましたらお願いします!!
=SUMPRODUCT(($BN$14:indirect(A1)<=25)*($BX$14:INDIRECT(B1)>0))
閾値25 ( <=25 25以下の条件部) を外部参照にしたい
=SUMPRODUCT(($BN$14:indirect(A1)indirect(A3)*($BX$14:INDIRECT(B1)>0))
^^^^^^
これではエラーになるようです
921 :
名無しさん@そうだ選挙にいこう :2009/12/20(日) 21:01:12
>>920 できました!!!事故解決
=SUMPRODUCT(($BN$14:INDIRECT($CE$9)<=CB14)*($BX$14:INDIRECT($CE$10)>0))
>>916 他スレにマルチしたらそっちへ解決したことをきちんと報告しておけよ。
923 :
名無しさん@そうだ選挙にいこう :2009/12/20(日) 21:25:16
>>922 はい!!! たった今行って来ました!!
巡回厨うざ
925 :
名無しさん@そうだ選挙にいこう :2009/12/21(月) 04:26:04
不連続なセルの範囲に対して COUNTIF は使えるのでしょうか? カンマ区切りで複数のセル範囲を与えようとしても 引数が多すぎると言うことになってしまいます。
926 :
名無しさん@そうだ選挙にいこう :2009/12/21(月) 04:40:22
CONCATENATE で複数の文字列の間に特定の文字列を挟み込むことはできますか?
>>925 そろそろCOUNTIFから卒業するころということだ。
そんなの使っていては仕事にならないだろ?
>>926 やってみれば?失敗するとPC爆発するから気をつけてね。
929 :
名無しさん@そうだ選挙にいこう :2009/12/21(月) 11:29:40
A1 データ1 A2 空白 A3 データ2 A4 データ3 A5 空白 A6 データ4 ・・・ 3行ごとに同じパターンのデータがあった場合 A3、A6、A9・・・と3の倍数のデータを それぞれB1、B4、B7・・・にまとめて移動させる方法とかあるのでしょうか? 数行なら手でやるのですが、さすがに数百行になるときついので
>929 B列に=IF(MOD(A1,3)=0,A1,"")してから値貼付け
>929 訂正:=IF(MOD(ROW(),3)=0,A1,"")
932 :
複乳 :2009/12/21(月) 12:20:00
>>925 a-c,i-k列を数えたければ
=COUNTIF(A1:C1,5)+COUNTIF(I1:K1,5)
みたいなカンジ
>>926 &の方が使いやすいと思うけどなぁ
=CONCATENATE(A1,"aaa",B1)
=A1&"aaa"&B1
どちらてせも
使えねぇコテだな〜w
934 :
複乳 :2009/12/21(月) 15:01:23
じゃぁどうやるんだよ〜っ><
>>929 B1=IF(MOD(ROW(),3)=1,A3,"")
あとは下にコピー
>>931 質問をよく嫁
????5月?????? !!!!12月!!!!!! という文字列から、5月、12月を抽出するマクロか関数を教えてくだしあ。 「月」以降の文字数は同じです。
937 :
複乳 :2009/12/21(月) 16:47:02
>>936 b1=MID(A1,FIND("月",A1)-2,2)
c1=IF(ISERROR(OR(B1*1=10,B1*1=11,B1*1=12)),RIGHT(B1,1),IF(OR(B1*1=10,B1*1=11,B1*1=12),B1,RIGHT(B1)))&"月"
>>936 =SUBSTITUTE(A1,LEFT(A1,1),"")
>>936 =IF(MID(A1,FIND("月",A1)-2,1)="1",MID(A1,FIND("月",A1)-2,3),MID(A1,FIND("月",A1)-1,2))
>>936 = (????5月??????) - (????) - (??????)w
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 発注管理.xlsのE列に0.0000があるとき、部品リスト.xlsの中から該当する部品番号を 探して埋めるのにVLOOKUPを使っていますが、マクロでできますか? 発注管理.xls A B C D E F 10 DATE PART NUMBER PART NAME QYT PRICE AMOUNT 11 20/Dec E-72U LENS CAP 72 1 0.0000 0.0000 12 22/Dec E-67U LENS CAP 67 2 0.0000 0.0000 13 22/Dec E-58U LENS CAP 58 1 0.3570 0.3570 部品リスト.xls A B C 2 PART NUMBER PART NAME PRICE 3 E-52U LENS CAP 52 0.3280 4 E-58U LENS CAP 58 0.3570 5 E-67U LENS CAP 67 0.3790 6 E-72U LENS CAP 72 0.3960
943 :
名無しさん@そうだ選挙にいこう :2009/12/23(水) 05:17:27
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ecsel2007 if [・5月が60000以上の人を「優秀」、6月が50000以上の人を「合格」、 それ以外の人を「今後に期待」と表示する。] をif文をつかって表現するにはどうすればいいですか。
944 :
名無しさん@そうだ選挙にいこう :2009/12/23(水) 05:24:11
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ecsel2007 関数 38 49 49 73 83 92 94 67 32 78 94 88 40 「表を作成し、並べ替えせずに、70点以上のものだけを 一つの関数を用いて合計せよ。 (計算式を入力せずに、関数を用いること)」 のやり方を教えていただけないでしょうか。
946 :
名無しさん@そうだ選挙にいこう :2009/12/23(水) 08:05:34
>>943 =if(5月のセル>=60000,"優秀",if(6月のセル>=50000,"合格","今後に期待"))
>>942 できる
ワークシート関数をマクロ内で使う事もできるので、
そっちでやるのもいいかも
WEB上のhtmlデータを参照し、その中から文字列を抜き出してセルに表示することはできますか?
できる
!! htmlをコピペするのではなく、WEB上のデータを範囲指定して取り込むことはできますか? イメージとしては、価格情報サイトから価格を抜き出し、簡単に更新できるようにしたものを作りたいです。 excel上の操作で更新作業を行える感じがしないので少し不安です。
データ−外部データの取り込み−webクエリ 2003以前ならしらない
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 セルにファイル名を書き、そのセルを選択してボタンのクリでアクロバットリーダーが立ち上がり、 PDFを開くようにしますた。このとき、セルに入れたファイル名が hoge.pdf ならおkですが、 hoge.PDF だとダメぽです。 FN = ActiveCell.Value FOL = ActiveCell.Offset(0, -1).Value If Right(FN, 3) = "pdf" Then Call ShellExecute(0, "open", FOL & "\" & FN, vbNullString, vbNullString, 1) End If この If Right(FN, 3) = "pdf" Then を If Right(FN, 3) = "pdf" Or "PDF" Then に 変えてもダメぽですた。Ifを無くせば立ち上がりますが、意図しないセルを選んだときに 誤動作を防ぐ意味で書いてます。どこを直せばいいですか?
>>953 orの使い方が間違ってる。
Right(FN, 3) = "pdf" Or Right(FN, 3) = "PDF"
>>953 自分だったら
If UCase(Right(FN,3)) = "PDF" Then
とでもするかな。あんまり無いとは思うけど"Pdf"とか"pDF"とかあったら困るじゃん
あと
> If Right(FN, 3) = "pdf" Or "PDF" Then に
> 変えてもダメぽですた。
「演算子の優先順」について調べたほうがいいと思う
956 :
953 :2009/12/23(水) 21:41:55
>>954-955 ありがとうございます。どちらもうまくいきますた。
演算子の優先順も調べますた。
お恥ずかしい限りです・・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 有休 計算 残日数 7時間45分 有給休暇の残り日数を管理しています。 1日=7時間45分 と考えて次のような計算シートを作りたいのですが… 現在の残り日数…[1日3時間15分] 今回の使用日数…[4時間] ⇒ 結果… 7時間 こんな感じにしたいのですが、検索してもなかなかこれだという物が出てきません… カッコ内に自分で残り日数と使用日数を入力すれば、結果を自動計算してくれる、という物が理想です。 手計算だと計算間違いが多いので、色々な人に自由に使ってもらえるような形にしたいと思っています。ご助言頂ければ幸いです
958 :
名無しさん@そうだ選挙にいこう :2009/12/24(木) 09:01:07
日付+時間の計算は、探せば、見つかるはず(昔使った記憶がある) #今風邪で探すのめんどい
959 :
複乳 :2009/12/24(木) 09:04:14
>>957 その現在の残り日数1日3時間15分は、10時間15分ととらえてよいのか?
そこから4時間減れば6時間15分だと思うんだけど
計算方法が良く分からない
960 :
複乳 :2009/12/24(木) 09:52:02
>>957 見間違えてたぜ。寝不足は良くないなぁ
B1=INT(ROUND(D1/(7.25/24),8))
C1=D1-ROUND(B1*7.25/24,8)
D1=10:15
D1は前月繰越を直接入力、A1は空白
A2に今回の時間
B2C2は下にオートフイル
D2=D1-A2
これでどう
ちなみに時間計算でfloor使うと小数誤差が
起きやすいからあんまり使わないほうがいい
7時間45分だから10進に直せば7.75だろ 基本的に時間で管理して表示するときだけMOD()で日単位にすればいい
962 :
名無しさん@そうだ選挙にいこう :2009/12/24(木) 12:37:12
10進ってゆーの・・・・知らなかった
963 :
複乳 :2009/12/24(木) 12:59:33
そうだな。合歓い
excel2003、標準ビューに改ページプレビューの 点線みたいなのが表示されるんですが消すことはできますか
繰り越しが20日あるとして年初に休暇日数が40日だとする。 1日が7:45だから、×40で310:00。日に直すときは=INT(A1/TIME(7,45,0)) =40 4時間の休暇取得は引き算でいい。B1に"4:00"が入ってればC1=A1-B1 =306:00 結果はD1=INT(C1/TIME(7,45,0)) =39日 E1=MOD(C1.TIME(7,45,0)) =3:45
966 :
複乳 :2009/12/24(木) 16:59:26
968 :
957 :2009/12/24(木) 23:24:32
レスくださった方々、ありがとうございます! 参考にしながらなんとか求めていた形のシートを作る事が出来ました。これで計算間違いを減らせそうです。
969 :
名無しさん@そうだ選挙にいこう :2009/12/25(金) 01:23:15
1以上の数字が入っているセルを、 全て1に置き換えたいんですが、どのようにすればいいのでしょうか。 置換でワイルドカードがうまくつかえなくて・・・。
>>969 数字の大小を条件に置換することはできない
作業列に=IF(A1>1,1,A1)とか入れる
二次元の表なら作業シートかマクロか条件付き書式で
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド
ttp://www.vector.co.jp/soft/dl/win95/business/se456949.html 上のURLでダウンロードできる見積書みたいに入力できる場所だけに
印刷されない網掛けみたいなのをかけたいのですが、
この網掛けのような物はどうしたら設定できるのでしょうか?
シートの保護は出来てます。
説明が下手ですみません。
>>971 このファイルは印刷プレビュー→設定→シート→のところの
白黒印刷にチェックがついている。
これをはずすとカラー印刷のプレビューになる
これのことかな?
973 :
971 :2009/12/25(金) 03:45:51
>>972 ありがとう御座います。
凄い申し訳ないです。勘違いしてました。
URLの見積書で出来てるのだと勘違いしてました。
印刷されない網掛けって出来ないのかなぁと思いまして・・・
974 :
971 :2009/12/25(金) 03:51:57
相談を間違ってしまっていたので、もう一度書き直させて頂きます。
すみません。
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド
印刷されない網掛けみたいなのをかけたいのですが、
網掛けのような物は設定できるのでしょうか?
>>972 さんの方法は、非常にたすかるのですが、
印刷は、カラーでもしたいので、できれば嬉しいなぁと思いまして・・・
色々と、本当にすみません。
976 :
複乳 :2009/12/25(金) 08:53:24
>>318 超遅レスだけど
オプション 表示 コメントとコメントマーク
で常時コメント表示されたわ
移動してもそのまま保存される
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 vlookup ♯N/A 特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。 A B C D ○日 ○日 0:00 1 0:00 2 0:01 1 0:05 2 0:02 1 0:10 2 0:03 1 0:15 2 0:04 1 ・ 0:05 1 ・ ・ ・ ・ ・ ※B列、C列には任意の数値が入ります。 といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。 数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに エラーとなってしまう箇所が多々あります。 A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。 良い対処法はないものでしょうか?
978 :
977 :2009/12/25(金) 19:13:13
えらいずれてしまったので、書き込みなおします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 vlookup ♯N/A 特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。 A B C D ○日 ○日 0:00 1 0:00 2 0:01 1 0:05 2 0:02 1 0:10 2 0:03 1 0:15 2 0:04 1 ・ 0:05 1 ・ ・ ・ ・ ・ ※B列、C列には任意の数値が入ります。 といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。 数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに エラーとなってしまう箇所が多々あります。 A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。 良い対処法はないものでしょうか?
>>978 D2=VLOOKUP(C2,A:B,2,TRUE)
980 :
977 :2009/12/25(金) 19:41:43
度々修正が入ってすみません。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 vlookup ♯N/A 特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。 A B C D E ○日 ○日 0:00 1 0:00 2 0:01 1 0:05 2 0:02 1 0:10 2 0:03 1 0:15 2 0:04 1 ・ 0:05 1 ・ ・ ・ ・ ・ ※B列、E列には任意の数値が入ります。 C2=VLOOKUP(A2,$D$2:$E$288,2,FALSE) で、オートフィルでやっています。後に♯N/Aを消すために、 C2=IF(ISERROR(VLOOKUP(A2,$D$2:$E$288,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$288,2,FALSE)) を実行しました。
981 :
名無しさん@そうだ選挙にいこう :2009/12/25(金) 20:44:01
C2に =OFFSET($A$2,(ROW()-2)*5,0) 以下コピー じゃないの・・・VLOOKUPの意味がわからん
>VLOOKUPの意味がわからん 分らなかったら、ググれ!ピボット厨
983 :
名無しさん@そうだ選挙にいこう :2009/12/25(金) 21:24:01
V L O O K U P 「を使う」 意 味 が わ か ら ん
>>982 規則的に並んでるんだから、いちいち検索しなくてもセル位置は計算で求められるだろ
>>980 相変わらず表がずれててよくわかんない
こう?
A B C D E
1 ○日 ○日
2 0:00 1 0:00 2
3 0:01 1 0:05 2
4 0:02 1 0:10 2
5 0:03 1 0:15 2
6 0:04 1 ・
7 0:05 1 ・
あいかわらずずれまくりですみません。
こんどこそ。
A B C D E
1 ○日 ○日
2 0:00 1 0:00 2
3 0:01 1 0:05 2
4 0:02 1 0:10 2
5 0:03 1 0:15 2
6 0:04 1 ・
7 0:05 1 ・
>>981 OFFSET関数でぐぐってみます
>>985 今度こそうまく表示されてるんではないでしょうか。
987 :
◆Excel//q4U :2009/12/25(金) 22:17:36
A2=1/24/60/60 A3=A2+1/24/60/60 A4以下はコピぺ C2=1/24/12 C3=C2+1/24/12 C4以下はコピペ 書式はm:ss でどうだ?やりたいのはこういう事なの?
988 :
◆Excel//q4U :2009/12/25(金) 22:21:55
ごめん。60を入れそこなった。 C2=1/24/60/12 C3=C2+1/24/60/12 C4以下はコピペ
>>987 こちらの説明不足でした。
手元にあるデータは、別の場所で測定した温度のデータです。
両方0時から測定を開始し、一方は1分間隔、もう一方は5分間隔で測定しました。
A列B列が1分間隔のデータで、D列E列が5分間隔のデータです。
C2にE1のデータを、C7にE3のデータを…
という具合に整理したいと考えています。
自分の文書力と説明力のなさが辛い。
>>989 C2に
=IF(ISERROR(VLOOKUP(A2,D:E,2,0))=TRUE,"",VLOOKUP(A2,D:E,2,0))
以下コピペすると5分、10分の箇所にはデータが入るけど?
>>989 C2に
=IF(MOD(ROW(),5)=2,OFFSET($E$2,ROW()/5,0),"")
と入れて、C2のフィルハンドルをダブルクリック
992 :
名無しさん@そうだ選挙にいこう :2009/12/25(金) 22:46:14
>>989 =IF(MOD(ROW(),5)=2,OFFSET($E$2,INT((ROW()-2)/5),0),"")
こういうこと?
993 :
名無しさん@そうだ選挙にいこう :2009/12/25(金) 22:50:16
>>991 OFFSETで行数が小数になっても出来るんだ〜、へ〜
>>989 これでいいんじゃないかな
=IF(MOD(ROW(),5)=2,OFFSET($A$1,INT((ROW()-2)/5)+1,4),"")
おまいら書き込む前にリロードしろ
>>993 小数点以下は切り捨てられる。つまりINT関数を省略しても結果が同じになるれけ
997 :
977 :2009/12/25(金) 23:23:17
>>990-996 さまざまな助言をいただきありがとうございます。
恥ずかしながら、excel初心者で、
参考書片手に皆様のレスを解釈している状態でして。
自分のデータに反映させるにはどこをどういじればいいやら
頭をひねっております。
時間がかかりそうですが、がんばってみます。
フアァァァ ∧_∧____ ネムクナッチャッタ /(*´o`) ./\ /| ̄∪∪ ̄|\/ | しー |/  ̄ ̄ ̄ ̄
______ オヤスミナサイ,,, /∧ ∧/)./\ /| ̄ ̄ ̄ ̄|\/ | しー |/  ̄ ̄ ̄ ̄
パタン ____ミ / / /| | ̄ ̄ ̄ ̄|. | | しー |/  ̄ ̄ ̄ ̄
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。