Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-10 あたりの注意書きや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総合相談所 70
http://pc11.2ch.net/test/read.cgi/bsoft/1213013614/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
【 このスレの登場人物 】 ┌─質問者─────────── どこにでもいるごく普通の初心者だったり 会社で上司に無理難題を押しつけられて困っている人だったりする。 たまに学生が宿題を持ち込んでくることも。 ┌─回答者─────────── テンプレを使わないと無視したり、質問を小出しにするとキレたりするくせに 自分は回答を小出しにして優越感に浸りニヤニヤしている嫌なヤツ。 ┌─自称回答者───────── 質問者を煽ったり、回答者を煽ったり、とにかくスレを引っかき回すだけで 何の役にも立たない賑やかし。単なるヒマ潰しでこのスレを見ている。 ┌─VBA厨 ─────────── VBAは万能と信じ、どんな単純な問題もついVBAで解いてしまう。 Module1がデフォルトで挿入されている世界を夢見るが、いまだ実現していない。 その実態はほとんどが理系の(元)学生。ピボット厨に目の敵にされている。 ┌─ピボット厨────────── ピボットテーブルの機能が強力すぎるため、なんでもできると錯覚している。 口癖は「データを正規化して出直せ」「ピボッと参上ピボッと解決」など。 弱点は大嫌いなVBAを使わないとテーブルのリアルタイム更新ができないこと。 ┌─啓蒙先生────────── ピボット厨一派の過激派。Excelはピボットテーブルだけのためにあり、 それ以外の機能はワークシート関数すら不要と言い切る。ピボットテーブルで 解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。 ┌─そのほか────────── ワークシート関数厨……何重にも入れ子になった複雑怪奇な数式を作り出し、 関数だけでどんな問題も解いてしまう。たまに自分でも何をやっているか わからなくなる。悩みは数式バーが1行しかないこと、頭が薄くなってきたこと。 配列数式厨……意外と使えるやつだが滅多に出てこない、というか出番がない。 極めてマイナーな存在。見かけたらその日はいいことがあるかも。 ナレーター……このわたくし。みなさんよろしく。
激しく乙〜(・з・)
>>8 的確すぎてワロタ俺はVBA厨。
だってエクセル関数にできてVBAでできないことないんだもんwwww
>>8 ピボットの誉めすぎだよ。ありがとう。
ピボ厨もVBAが何でもできることは認めているんだよ。自身も必要なら使う。
問題はこのスレのVBA厨が何も解決できないことなんだ。
それは違う。質問者がVBAを×にしてるからだい
>>13 それは事実と違うように思うが。
前スレの例えばどの質問のこと?
16 :
13 :2008/06/23(月) 18:44:33
>>15 >>12 にまずつっこめよ。
マクロ(VBA)スが質問を撃破できなかった事実はない。
よく考えずに安易に回答(反応弾使用)する者が多い事は
事実だと認めるところだがな。
>>16 在庫管理もな。
>>17 カレンダーはどんな質問だった?
祝日自動計算とかだったらできなくて当たり前だからね。
19 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 19:07:59
保存時に、ある処理をやらせてから終了させる為に 以下のように記載したのですが、どうしても保存処理が 二回走ってしまいます… [ThisWorkBookシート] Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) '保存(ファイル保存)処理 Call TyinKo End Sub [Module1] Sub TyinKo() (中略) ActiveWorkbook.Save ThisWorkbook.Saved = True '←これで標準の保存処理だますつもりだった End Sub やりたいのは、上書き保存時に名前を変えて保存させることです。 それで保存処理が動いた時に、上で略された処理を動かし ファイルを保存したいのですが前述通りになぜか二回… もう死にたいです
Variable Battloid Answer
>>19 >もう死にたいです
心療内科を受診してみてはどうだろうか。
22 :
19 :2008/06/23(月) 19:18:54
そういう煽りはいいんです。ただひたすら愛が欲しい、歌丸です。
>>23 君、けっこうVBA使えるだろ。
VBA使えるとうらやましいな。なんでもできて。
>>24 とりあえず来年の5月と9月の国民の休日が正しいことは確認した。
27 :
19 :2008/06/23(月) 19:58:08
俺の首<カレンダー これがエク質ヌクモリティなの!?
28 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 19:59:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 初心者 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA ファイル操作 シート ダイアログ A.xlsとB.xlsというブックがあります。 A.xlsにてマクロを起動すると、ファイルが選択できるダイアログが出てきて、 B.xlsを選択するとB.xlsの「シートC」というシートをA.xlsに追加するということを実現したいです。 ・追加する場所はどこでもいいです。(できればA.xlsの先頭) ・選択するファイルの(例えばB.xls)のシート名は「シートC」という風に固定されていますが、今後変わる可能性があるので できれば、シートを選択できればベターです。 ・もしくは、選択したB.xlsのシートCの(A1:C10)をA.xlsのシートCのA1にコピーという仕様でもかまいません。 以上よろしくお願いします。
>>19 Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
SaveAsUi [名前を付けて保存] ダイアログ ボックスが表示される場合 True が渡されます。
Cancel イベントが発生すると False が渡されます。イベント プロシージャでこの引数に True を設定すると、プロシージャが終了しても、ブックは保存されません。
31 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 20:15:43
/)_/) ( ・分かる人はできるだけ回答して下さいませ。 < ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。 ノ) / | ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。 \(_,,,_,,,) いつの間にかに消えて、こいつ迷子になっちゃった!
画像から文字を読み取ってエクセルに出力したいのですが どうすればいいですか?
34 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 21:43:56
>>1 ふつう、まちBBSと2ちゃん間違えるかぁw
三重県人痛いやっちゃな〜
35 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 21:56:50
>33 OCRソフトで画像→文字変換して、文字列コピーしてエクセルに貼り付けたらだめですか? それをエクセルで自動化したいということですか?
OCRソフトの出力みせれ。 それか聞いてる暇あったら手入力したほうが速いぞきっとw
38 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 22:29:16
>>1 デフォルトの名前で気づけよwwwwwIP表示されてる時点で気づけよ
>>38 「1つのセルに縦の文字が全部」って、どういう意味?
一部の読み取りミスは仕方ないとして、コピペしたらちゃんとセルごとに数値が分かれて入ったけど。
あと、OCRソフトによっては設定で「英数字のみ」とか「数字と記号」みたいなのがあると思う。
それを使うと数字の読み取り精度が上がる。
再投稿します。 よろしくお願いします。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(少々) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL 置換 ワイルドカード セル内の先頭にある半角スペースを消したいのですが 検索する文字列: * 置換後の文字列:* では対象が全て*になってしまいます。 「置換後の文字列」には何を指定するのでしょうか? >前スレ 984・987殿 対象は先頭にある半角スペースです。 それ以外の半角スペースは残します。
42 :
41 :2008/06/23(月) 23:07:42
またsageてしもた(汗 よろしくお願いします。
sageの意味を知らないひとがいるな
44 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 23:13:17
>>41 a1にあるとしたら
=IF(LEFT(A1,1)=" ",RIGHT(A1,LEN(A1)-1),A1)
45 :
41 :2008/06/23(月) 23:26:58
>44殿 置換のワイルドカードでの指定方法が分かればお願いします。 VBAから実行してセル内の文字列を直接変換します。 置換後の文字列の指定方法が分かれば自動記録でコードは得ようと 思っていましたので特にVBAでとは記述しませんでした。 後出しですみません。 また、回せばできるのですがこの様な場合のワイルドカード指定方法 があったような気がしたので質問させていただきました。 Selection.Replace What:=" *", Replacement:="*", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False
>>28 Sub a()
Set b = ThisWorkbook
Sheets.Add before:=Sheets(1)
Workbooks.Open Application.GetOpenFilename("Microsoft Excelブック,*.xls")
Worksheets("シートC").Select '保存時の状態によってはSelectしないとエラーになる
ActiveSheet.Cells.Copy Destination:=b.ActiveSheet.Range("A1")
ActiveWorkbook.Close
End Sub
WORDだとワイルドカードで行頭を指定できるからそっちでやる手もある
>>45 そういうのは「正規表現」というのを使うんだけど、それよりもこれじゃダメか?
Sub 選択範囲の先頭のスペースを消す()
For Each i In Selection
i.Value = LTrim(i.Value)
Next i
End Sub
51 :
名無しさん@そうだ選挙にいこう :2008/06/23(月) 23:43:15
>47,49殿 Trimがあったか! あれから色々とサイトを巡ってみましたが、置換では無理で 回さないとだめみたいですね。 ありがとうございました。
>50殿 ご心配ありがとうございます。 承知しておりますので大丈夫(?)です。
53 :
35 :2008/06/24(火) 00:16:41
35です。 >38 >40 Excel2003でやってみました。貼り付ける方法により結果が異なりました。貼り付け先をA1と仮定します。 [Ctrl]+[V]だとA列にだけ貼り付けられました。 メニュー−編集−形式を選択して貼り付け−テキスト だと40さんの言うとおり各セルに分かれて格納 されました。参考まで。
>>53 うちも2003だけど、Ctrl+Vでちゃんと分かれたよ?
手順としては、まずExcelを起動してブックを開く
次にメモ帳でtxtを開くいてCtrl+A、Ctrl+C
エクセルに切り替えてA1をクリック、Ctrl+V
ポイントは、Excelを先に起動すること。先にメモ帳を起動するとコピペがうまくいかない。
55 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 06:33:25
前すれでLTrimってかなり一瞬ででてたきがするんだけど・・
>>55 元の質問がテンプレに沿ってなくて、あの時点ではVBAの可否が不明だった
57 :
41 :2008/06/24(火) 08:25:37
>55殿 見落としてました(汗 遅くなりましたが前スレ998殿、ありがとうございました。 また、気が付かずに失礼しました。 また、>41でレス番を間違えました。 前スレ997殿、失礼しました。
すみません、簡単な質問かもしれませんが、 シートを10個作って、シート1の行4:列5あたりに『8:50〜10:00』と書いたら シート4,7あたりの行4:列5にも『8:50〜10:00』と反映されていました。 関数は調べたらなかったのですが、これはどういった現象でしょう? すみませんがお願いします・・・。
>>58 Ctrlを押しながらシートタブをクリックすると、複数のシートにいっぺんに同じデータを入力できるという機能がある。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL 0になる 計算結果 自作関数 関数 ファイルを開く VBAで自作した関数の入っているセルの値が ファイルを開いた時に0になってしまっているときがあります 保存時にはきちんとした計算結果が入っていたはずなのにです。 この状態で手動で再計算しても0のままです (引数の入っているセルに数字は入っています) 関数の引数になっている値を変動させると 正しい計算結果が表示されるようになります。 そのファイルはネットワーク上の共有フォルダに置かれています どのような原因が考えられますか?
>>60 ・自作関数が間違っている
・元の引数で計算すると0になるのが正しい
>>61 レスありがとうございます
自作関数についてですが、返り値は想定した正しい値が返ってきます
もちろんもとの引数で計算したら0ではない数字になるのが正しいです
正しい計算結果が入った状態でファイルを保存>翌日に開く
と、計算結果の欄(関数が入っているセル)が0になっている時があるんです
ファイルを開いた時に計算がされてないような状態になっているんです
もちろん、自動計算はオンになっていますし、
0になってる状態で手動再計算しても0のままです
毎回0になったり、決まったシートだけや決まったブックだけなら
なにか原因があるんだろうと思えるのですが、
今の状態は再現させる条件もよくわからなくて
途方にくれているような状況なのです
63 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 11:04:37
ファイルを名前を付けて保存する際にVBAで A1セルの内容を初期表示させたいのですが どうすればよいのでしょうか。
>>62 Excelのバージョン違いとか、複数のExcelから同時に開くとうまく動かないとか
とりあえずファイルをさらしてみるとわかる人がみつかりやすいかも
うpした方が早いと思う
>>63 「初期表示」の意味がよくわからんが、カーソルをA1セルに合わせておきたいってんなら
Workbook_BeforeSave に Range("A1").Select って書いとけばいい
>>66 例えば「shine.xls」を開いたら、名前を付けて保存を
押すと「shine.xls」が反転した状態で表示されますよね。
あれです。あれをA1セルの内容に変えたいんです。
>>64-65 さん
>>67 さん
レスありがとうございます
まずは
>>67 さんの教えて下さったサイトをみていろいろ試してみます
いま、たまたま0になる現象が再現できたのでいくつか実験してみました
オプション>計算方法で再計算ボタンクリックだと再計算されないんですが
ctrl+alt+F9をやったらとりあえず再計算できました
僕が手動再計算の方法を間違えていたのかな
お騒がせして申し訳ありません
あとはファイルオープン時にきちんと再計算するようになれば
よさそうなので、他の方法も試してみます
皆さん本当にありがとうございました
70 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 12:06:24
二つのグラフをそれぞれ右と左の軸に割り振って表示したとき どっちのグラフが右でどっちが左かということが分からないと思うのですが これはどうすれば良いのでしょうか? 論文などをみていると矢印などが書かれていますが 自分で書き入れるというの一般的なのでしょうか? もっと良い方法があれば教えて下さい。
>>68 こんな感じかな?
ファイル名が " " で囲まれちゃうんだけど、これを消す方法がわからん。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
S = Application.GetSaveAsFilename(InitialFileName:=Range("A1"))
If S <> False Then
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=S
Application.EnableEvents = True
Saved = True
End If
Cancel = True
End Sub
罫線が太くて嫌なんですがもっと細くなりませんか? ギュウギュウってして痛いです(/ω\)
>>72 罫線のスタイルを選ぶ画面で、「なし」の次にある点線が、印刷すると一番細い実線になります。
太さをもっと微妙に調節したい時はオートシェイプで枠線に重ねて直線を引くしかありません。
2003を使っています。 グラフにタイトルをつけるためにはどうしたら良いのでしょうか?
>>69 再計算にはF9、Shift+F9、Ctrl+Alt+F9、Ctrl+Alt+Shift+F9の4種類あって、
それぞれ再計算される範囲と条件が異なる。4番目がブック全体を強制再計算。
どの段階で再計算されるかを調べれば原因がわかるかも。
A1セルが">"の時B1に=C1>1 A1セルが"<"の時B1に=C1<1 というふうに式を変えたいときは、VBAを除けば ifで分けるしかありませんか?↓のような感じで・・ =if(A1=">",C1>1,C1<1) indirect等、関数で直接数式自体を戻り値として入れることは無理でしょうか
>>71 一週間悩んでいた問題が氷解しました。
>ActiveWorkbook.SaveAs filename:=S
ちきしょぉぉおこんなことができたのかぁああ
と絶叫してみましたがどうみても神回答者です
本当にありがとうございました
>>74 グラフを右クリックして「グラフのオプション」→「タイトルとラベル」
>>77 違うぞ。保存ダイアログにファイル名の初期値を設定してるのはこの部分
S = Application.GetSaveAsFilename(InitialFileName:=Range("A1"))
------------------------
二つのグラフを同時に表示させたとき 片方のグラフがもう一つのグラフに覆い被さって部分的に 見えなくなってしまいます。 どちらが上に来るかというのはどうやって設定するのでしょうか?
>>80 グラフを右クリックして「最前面に移動」「再背面に移動」で順番を変更できる
3つ以上重なってる時はクリックする順番をよく考えること
>>76 別の所にあらかじめ記号と完成した計算式を並べておいて、
その中からVLOOKUPなどで計算結果を選択するという方法もある
85 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 13:14:26
とりあえずオフィスを使える(使いこなす、大手に就職しても困ることなく使いこなせる)ようになりたいんですけど どうやってやっていけばいいですか? 関数など基本的なことは、高校のときにやったのである程度はできます。
持ち越しですみません。どなたかこれ分かる方いないでしょうか。 これのせいでもう4日くらい帰れていないんです 982 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2008/06/23(月) 13:45:32 money.csv (MoneyFile) 田中,貸した,12000,未納 というデータを Open MoneyFile For Binary Access Read Write As intFF (中略) buf2 = Split(buf, ",") で読み込み、 ReDim Preserve buf2(3) として「未納」の配列要素を切り捨てた後で書きだしているのですが 思った通りのデータになっているものの「未納」の部分が消えません。 更新前のデータがそのまま残っている状態です。 つまり 田中,貸した,12000,未納 ↓ 田中,貸した,12000 としたいのですが、どうすれば良いのでしょうか。 バイナリアクセスでは、行のバッファを置き換える事はできないのでしょうか。
>>85 大手だと人の作ったシートにデータを入れて分析結果を見るだけ、みたいなことのが多いよ。
自分でいちいちマクロとか作ってるのは、むしろ小さい会社。
あと、仕事で必要なことは研修で教えてくれるから、Excelの知識なんかより社会常識を
しっかり身につけておいた方がいい。
>>86 > 思った通りのデータになっているものの「未納」の部分が消えません。
未納が消えないってことは、思った通りになってないってことじゃないの?
日本語がおかしいよ。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 EXCEL スピンボタン 負の係数 マイナス y=ax^2+bx+cという式でスピンボタンを使ってaを負の値に指定出来るように したいのですが、どうすれば良いのでしょうか? かなり調べたつもりですが 分かりません。どなたかお助け下さい。
90 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 13:44:48
>87 わかりました。 エクセルの知識は放置してタイピングやったり 本読んだりします。
>>75 ありがとうございます!
今実験してみようと思ったんですが
障害が再現できないので、また障害が起きたときに試してみます
92 :
86 :2008/06/24(火) 13:50:59
>>88 言葉が足りなかったです。つまり
aaaaa,xxx
の行バッファに対し、bbbbbの行バッファを
書き出せているのに、xxxがそのまま残っている
ということです。つまり
bbbbb,xxx
になってしまうのです。
この「bbbbbを出力できている処理」が思った通り
に動いているということです。
つまり思った通りのデータ(bbbbb)で上書いてるのに
消えないデータ(xxx)があるということです。
>>92 バイナリでその部分の文字だけ上書きしてるんだから、当たり前の動きじゃないかな?
消すというのが無謀かと。
同じサイズの空白文字列で上書きすれば、見た目は消えるんじゃない?
余分な空白のゴミが残るけど。
そもそもは、CSVをバイナリで扱う意味が分からんから答えつかないんだと思うよ。
>>92 データを削ってそれ以降の部分を前に詰めたい、あるいは途中にデータを追加して全体を後ろにずらしたい時は、
ファイル全体を一度に読み込み、加工してまた全体を書き出すしかありません。
バイナリモードでできるのは、基本的にファイルサイズの変わらない置換だけ。 文字数が増えたり減ったりする場合はテキストモードでやる。
97 :
80 :2008/06/24(火) 14:34:08
>>82 2003を使っているのですが
そのような設定項目は見あたらないのですが・・・
オプションのところにも見あたりません。
>>89 フォームのスピンボタンはマイナスにできない。
コントロールツールボックスのスピンボタンを使いなされ。
100 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 16:29:34
>>99 私が言っているのは一つのグラフの中に2つのグラフを散布図として
乗せた場合という意味なのですが・・・
何卒よろしくお願い致します。
101 :
92 :2008/06/24(火) 16:30:26
>>94 そうなんですよね。実は最初は固定長のデータを扱っていたので
書き変わるたびに書き直すと遅くなるなぁと思い、バイナリで
扱うようにしたんですけど、それから機能追加でユーザ名を
追記するようにしたんで、せっかくバイナリに合わせて処理を
盛り込んで(というかガラッと変わった)時間と手間をかけたのに
戻したくないなぁというかバックアップ取ってないなぁと思い
どうにかならないかなぁあの女子高生かわいいなぁとか思ってました。
どうもすみませんでした。
>>95 やっぱりそうなんですね。諦めがつきました。ありがとうございました。
>>96 それが基本ですよね。見よう見まねでググってコピペして辻褄合わせて
作ったソースがですがどう見ても破綻です
本当にありがとうございました
92なんですけど別件なので数字コテ外します。 ファイル操作は、「読み取り」か「書き込み」の どちらかしかおこなえないのでしょうか。例えば 1234,5678,01 2222,3333,14 6666,4444,55 のようなcsvを読み込んで、処理の中で二行目のレコードの 14を15にしたい場合はバイナリモードで読んで書いてで良い と思うのですが、 1234,5678,01 2222,3333,14,更新中 6666,4444,55 のようにしたい場合はサイズが変わるのでバイナリモードでは 対応できず、Outputでアクセスして書き込むと思うのですが、 その場合一度INPUTで開いて読み込み、すぐにOutPutで書き込む しかないのでしょうか。複数人が同時にアクセスする事を 想定しているため、できれば読んだ時点で処理して書き込みたい のですが・・・
104 :
103 :2008/06/24(火) 17:50:52
それとも、可変長の要素を追加したい場合は あらかじめレコードの長さを確保して 2222,3333,14," " '←6バイト バイナリモードで読み込み・書き込み 2222,3333,14,"更新中" '←6バイト のようにした方が良いのでしょうか? まぁ6バイト程度ならいいんですが実際のコードでは 20バイト(Winのユーザ名)確保する必要があるんですが 他に上手い方法はないでしょうか…
105 :
103 :2008/06/24(火) 18:51:14
また流れを止めてしまった… >104の例は、""で括られた中が6バイトだということです。 2chなので全角スペース3つ入ってますが実際は半角スペースが6つです。 それを全レコード用意して、書きこんだりスペースで埋めたりした方がいいのかなぁ…と。 ついでに質問しますと、この6バイトのスペースに2バイトの文字を入れ、残り4バイトを スペースでパディングしたい場合どうしたらいいんでしょうか。
無理 教えても無駄 DB使え 消えてくれうざいから
根本的な仕組みも分かろうとしないで 糞みたいな質問連発してる奴に何言っても無駄
108 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 19:16:02
すみません、どなたか教えて下さい!! XP,Excel2003です。VBAはわかりません。 複数の関数の組み合わせなのですが、よろしくお願いします。 わかりにくい説明ですみません。 Aシートにコードが入力されています。 Bシートにコード、文字列、数値が入力されています。 AシートのコードでVLOOKUPを使い、Bシートから数値を呼ぶことはできるのですが、 数値が空白の場合は、空白にする。B列の文字も検索したい場合はどのようにすればよろしいでしょうか? 例 Aシートには、コード001が入っています。 Bシートから、コード001、「あ」の行を検索し、数値をもってきて、空白の場合は空白にしたいです。 A列 B列 C列 D列 1行 001 あ 10 空白 2行 001 い 20 30 3行 002 あ 30 空白
Dの空白のセルに’を入れておく
110 :
103 :2008/06/24(火) 19:30:38
>>106-107 素直にわからないって言えばいいのに…
高度過ぎる質問してごめんね。
自己嫌悪に陥らないでね。
111 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 19:37:21
>>109 108です。
すみません、既に何ファイルもデータが入力済なので、
今から入れられないんです・・・
>>103 まさかと思うけど1つのファイルを共有して複数人で同時に開き、書き換えようとしてる?
だったらおとなしくAccess使え。
113 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 20:54:58
>>108 vlookupでDが空白なら空白を返すのは分かった
Aシートはコード、文字、数値、数値の並びでコードをかけばそれぞれを呼び出したいの?
Dが空白だと他全てが空白になるようにしたいの?
C列に空白はできるの?その場合は?
空白じゃない場合はB列の文字とCの数値をつなげればいいの?
CとDがある場合はどうするの?
>>108 =IF(VLOOKUP(A2,B1:C2,2)="","",VLOOKUP(A2,B1:C2,2))
ifでvlookup先のデータが空白「""」なら空白「""」、そうじゃなければ通常のvlookup
って感じでどう
>>100 そういうのを後出しって言うんだよ。
>>3 に書いてあるでしょ。
グラフエリアの中にプロットされた線や点を右クリック、データ系列の書式設定、系列の順序。
この中で下にある物が重なった時前に出る。上にある物は隠れる。
>>104 単に可変長のデータを置き換えたいだけなら
2222,3333,14,"更新中"," "
みたいに余った部分をコンマで区切って、5番目のデータを無視するという方法がある。
この方法なら高速にファイルを更新できるから、排他制御っぽいことも不可能ではない。
やめといた方がいいと思うけど。
xp 2003 vba?って何? というレベルのものです 質問です 2009/5/20と表記されているセルを日にちの20とだけ表記したいんです そのセルはDATEを使って2009/5/20と表しています どなたか教えてください
書式設定でd
120 :
103 :2008/06/24(火) 23:01:28
素直にわからないって言えばいいのに…
>>117 どうしてDATEつかってるんだろ?
=DAY(DATE(2008,6,20))
>>110 偽者乙
>>112 SAW(ソウ)です。Access?使えたら苦労しません!インスコされていません!
>>116 うーんちょっとおっしゃる意味がよくわからないです・・・
5番目を・・・えーと・・・
>>119 >VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。
VBAはすごいですよね。
>>120 偽者乙
>>122 フィールドは可変長だがレコードは固定長ってこと。
どこかしら固定長の部分がないとランダムアクセスは不可能。
別解として、アクセス中を示すフラグを別ファイルに置くという手もある。
つーても、
>>103 には理解できなさそうだなあ…
もっと単純に、1レコード1ファイルにするという力業もあるにはあるが…
そこまでしてExcelでデータベースもどきを構築する意味があるのかどうか。
開発にかかる人件費を考えたらAccessを買った方が早いと思うんだが。
それしかすることないんだよ
126 :
名無しさん@そうだ選挙にいこう :2008/06/24(火) 23:49:56
前スレの730ですが 以下に前回の質問を記します 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 他のブック 参照 ファイル名 あるフォルダに aa-01-斉藤.xls aa-02-田中.xls … といったように aa-**(連番)-**(名前).xls といったファイルが複数あって それぞれの「入力用シート」というシートの A2〜A12 に データが入っています。 しかし、A2〜A12にすべてデータが入っているわけではなく、例えば aa-01-斉藤.xlsの A2には「バナナ」A3には「リンゴ」といったデータがありA4〜は空欄 aa-02-田中.xls にはA2には「卵」といったデータがあり A3〜は空欄です。 これらのデータを まとめ.xls といったファイル にまとめる。 例としては まとめ.xlsの 「集計シート」の B1に 「バナナ」 B2に 「リンゴ」 B3に 「卵」 ・・・ のように それぞれのブックのA2〜A12までの入力されたデータのみを抽出したいのです。 *データは上につめてありますので A2とA4にデータがあってA3が空欄ということは無いです。 *ファイルは50個程度あります。フォルダの移動はいくらでもできます。 *まとめるデータは aa-01 → aa-02 → といったように連番順にまとめたいです。 以上を実現する方法をご教授願います。 ________________________________________ 以上が前回の質問でこれは解決したのですが 別に aa-1斉藤.xls aa-2田中.xls・・・ aa-10小倉.xls aa-11中村.xls aa-**(連番)**(名前).xls というファイルの処理もしたい場合、どうすればいいのでしょうか?
127 :
126 ちなみに前スレでいただいた回答です :2008/06/24(火) 23:51:20
Sub データをまとめる() Dim DataFolder As String Dim FileNameCounter As Integer Dim SourceRow As Integer Dim DestinationRow As Integer Dim FullPath As String Dim SourceFileName As String Dim Work Dim Matome As Workbook DataFolder = "c:\excel-data\" '処理したいデータを一ヶ所に集めておく If Right(DataFolder, 1) <> "\" Then DataFolder = DataFolder + "\" 'まとめ.xlsを開く。ない場合は作る。 Work = Dir(DataFolder & "まとめ.xls") If Work = "" Then Set Matome = Workbooks.Add Matome.SaveAs Filename:=DataFolder & "まとめ" Else Workbooks.Open DataFolder & "まとめ.xls" End If FileNameCounter = 1 DestinationRow = 1
128 :
126 ちなみに前スレでいただいた回答です2 :2008/06/24(火) 23:51:42
Do SourceFileName = Dir(DataFolder & "aa-" & Format(FileNameCounter, "00") & "*.xls") 'Excelのファイルを検索 If SourceFileName = "" Then ActiveWorkbook.Close SaveChanges:=True Exit Sub End If FullPath = DataFolder & SourceFileName 'データのコピー For i = 2 To 12 Work = ExecuteExcel4Macro("'" & DataFolder & "[" & SourceFileName & "]入力用シート'!R" & i & "C1") If Work = 0 Then Work = "" If Work = "" Then Exit For Cells(DestinationRow, 1) = Work DestinationRow = DestinationRow + 1 Next i FileNameCounter = FileNameCounter + 1 Loop End Sub
130 :
126 :2008/06/25(水) 00:42:18
>>129 できればその方がいいのですが、番号順ではなくても大丈夫です。
>>130 あらかじめ「まとめ.xls」「集計シート」を作って元データと同じフォルダに保存しておくこと。
データフォルダの部分は自分の環境に合わせて書き換えること。フルパスで書くこと。
Sub aaaa()
ChDir "C:\excel-data" 'データフォルダ指定 ←ここを書き換える
Workbooks.Open "まとめ.xls" 'まとめ先準備
Sheets("集計シート").Select
Range("B:B").Clear
Range("B1").Select
Dim S(99) As String
N = Dir("aa-" & i & "*.xls") 'aa-で始まるExcelファイルの一覧を取得して
While N <> ""
S(Val(Mid(N, 4, 2))) = N '番号順に並べる
N = Dir()
Wend
For i = 1 To 99
If S(i) <> "" Then
Workbooks.Open S(i) '開く
Sheets("入力用シート").Select
Range("A2", Range("A" & Rows().Count).End(xlUp)).Copy 'コピーする
ActiveWorkbook.Close
ActiveSheet.Paste 'ペーストする
Range("B" & Rows().Count).End(xlUp).Offset(1, 0).Select
End If
Next i
ActiveWorkbook.Save 'まとめを保存
End Sub
132 :
131 :2008/06/25(水) 01:00:48
ごめん。致命的ではないんだけど1行だけ修正 N = Dir("aa-*.xls") 'aa-で始まるExcelファイルの一覧を取得して
VBAよくしらないけど ここはなにやってるの? N = Dir() 上の行でN = Dir("aa-*.xls")でファイル一覧取得してるから重複なのでは。 と思ってN = Dir()削除したら無限ループだし。ふしぎ。
>>133 MS-DOS時代からの伝統(?)で、MS製のOSではファイルの一覧を二段階に分けて取得することになっている。
「最初の1つ」はN = Dir("aa-*.xls")で取り出すが、ワイルドカードで該当するファイルが2個以上ある時は、
2個目以降は「1個ずつ」N = Dir()で取り出すことになっている。
だからループの中にN = Dir()が入っている。
135 :
126 :2008/06/25(水) 01:39:12
>>131 動作確認できました。ありがとうございます。
ちなみに
aa-1-1斉藤.xls aa-1-2田中.xls・・・ aa-1-10小倉.xls aa-1-11中村.xls
aa-2-1尾崎.xls aa-2-2佐々木.xls・・・ aa-2-14田中.xls
aa-3-1西.xls aa-3-2北.xls・・・ aa-3-13東xls
・
・
・
aa-12-1南.xls aa-12-2山口.xls・・・ aa-12-25広島.xls
といったように aa-**(連番)-**(連番)**(名前).xls
の場合は
Dim S(99) As String
N = Dir("aa-" & i & "*.xls") 'aa-で始まるExcelファイルの一覧を取得して
While N <> ""
S(Val(Mid(N, 4, 2))) = N '番号順に並べる
N = Dir()
Wend
このあたりはどうなるでしょうか?
137 :
126 :2008/06/25(水) 02:03:27
>>136 aa-**(連番)-**(連番)**(名前).xls
↑ 月 ↑ その月の1番目、2番目といった感じです。
じゃあ2番目の数字は99までなのね? Dim S(12, 99) As String N = Dir("aa-*.xls") 'aa-で始まるExcelファイルの一覧を取得 While N <> "" S(Val(Mid(N, 4, 2)), Abs(Val(Mid(N, 6, 3)))) = N '番号順に並べる N = Dir() Wend For m = 1 To 12 For i = 1 To 99 If S(m, i) <> "" Then Workbooks.Open S(m, i) '開く 以下略
俺の若い頃は、こんな贅沢な配列の使い方はできんかった。わざわざ1引いて0〜11にしてたなあ。 この程度のデータをExcelのシートに入れるのも激しくディスクの無駄だし。 恐ろしい時代になったもんだ。色んな意味で。
Dim S(, ) As String
略
For Each i In S
略
こう書けばメモリの無駄が防げる
>>139
おっと失礼 Dim S(1 To 12, 1 To 99) As String Option BaseはN-BASICにもあったから、ジジイなら知ってるよな
Excelの履歴書で「男」に○をつけたいのですが どのようにすればいいのでしょうか?
マジサンクス!! やっと就職できるぜ!
145 :
126 :2008/06/25(水) 02:53:31
>>138 なるほど。大変参考になり、勉強になりました。ありがとうございます。
>>139 昔は職人技が冴えてたというか職人じゃないとあっというまにフリーズしてたな
PCが高性能になるのはいいんだが、ベタなコードを見てるとちょっとイラってしてしまう俺
ジジイは自分の知らない事はみんなイラっとくるからな
>>142 履歴書をExcelで作るような奴は採用したくないな…
149 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 10:42:04
こちらへ誘導されました。 すいません、お尋ねします。 いま、町内の組織表(シート1)を作りました、それから受付表(シート2)を造りました。 受付表に、=SUM(組織表!A10)で数値は移せるのですが、組織表の個人の名前が写せません 0表示になります。どうすれば組織表の個人の名前を連動して受付表に写せるでしょうか? よろしくお願いします。
>149 =を入力後、該当シートの「個人の名前」セルを選択
151 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 11:12:03
>>150 ありがとうございます。
=組織表!A10でいけました。
152 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 11:20:42
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 なるべく使用しない方法で インターネットのホームページで入力手間を省く為にマウスでクリック すれば入力したいものがいくつか表示され、その中から一つ選択すれば キーボードで入力不要というものがありますが、エクセルでのやり方を 教えて下さい。 例)月曜日の「月」という文字を入力するためにキーボードでの入力を 省略したいために、マウスでクリックすると「日、月、火、水、木、金、土」 が表示されてその中の「月」をマウスで選択すればキーボードで入力不要 ということをしたい。
>>151 でーた 入力規則 設定の中に入力値の種類、リストを選択
バージョンによって多少変わるかもしれないけど
155 :
152 :2008/06/25(水) 13:11:15
156 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 13:45:31
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(少々) 【4 VBAでの回答の可否】 可 セルの中にアルファベット(大小)、数字、記号の一部など、 ASCIIコードの&h00〜&H7F以外の文字が含まれているか どうかを検証したいのですが、何か良い命令か方法はない でしょうか? 自分の知識では下記で手一杯なのですがもっと間単な 方式があれば教えてください。 ちなみに下記はカウントしていますがカウントは不要です。 mytext = Range("A1").Value mycnt = 0 For i = 1 To Len(mytext) mycode = Asc(Left(mytext, 1)) mytext = Right(mytext, Len(mytext) - 1) If 0 < mycode And mycode < 127 Then mycnt = mycnt + 1 Next i Range("A2").Value = mycnt 数万のセルを検証するループ中で使用しますので処理時間を 早くしたいと思っております。 よろしくお願いします。
157 :
156 :2008/06/25(水) 13:49:39
補足 最初はLenとLenBを比較していましたが半角カタナカに対応 出来ませんでした。
>>156 やりたいことがよくわからんな。
まず、調べたい文字の種類がわからん。
たとえば文字コード&h00は「ヌル文字」といって、画面には表示されない特別な意味を持つ文字だ。
これをアルファベットや数字と同列に扱うの?
さらに、例示されたプログラムを見ると「0 <」「< 127」という条件で判定しているが、これでは
前半の説明と矛盾しているので、結局何がやりたいのかがわからん。
あと、含まれていたら、または、含まれていなかったらどうするの?結果をどうやって返すの?
判定は文字単位?セル単位?シート単位?
そこらへん、もうちょっと詳しく書いて。
もひとつ。半角カタカナをどうしたいのかもわからんぞ。 アルファベットや数字などの仲間に含むのか、除外したいのか。
正規表現調べてみればいいんじゃね? wshかvbsだったかな?
161 :
156 :2008/06/25(水) 14:11:59
>158氏 レスありがとうございます。 >まず、調べたい文字の種類がわからん。 基本はASCIIコードの&h00〜&H7Fです。 コントロールコードは絶対に存在しないのでどっちでも良いです。 (自分専用の変換ツールです) >前半の説明と矛盾しているので、結局何がやりたいのかがわからん。 対象はASCIIコードの0(&H00)〜127(&H7F)です。 あるかないかを調べたいので条件内を調べようが条件外を調べようが どちらでもかまいません。矛盾してますか?? >あと、含まれていたら、または、含まれていなかったらどうするの?結果をどうやって返すの? >判定は文字単位?セル単位?シート単位? 何でもよいです。 検証方法さえ教えていただければ細工します。
>>161 0 < … < 127
じゃなくて
0 <= … <= 127
じゃないとおかしいって言いたいんでない?
>>161 いやだから、含む、または含まない文字コードの範囲を厳密に決めた方が、たいてい高速に判定できるんだってば。
どの関数とかじゃなくてアルゴリズムの問題だから。
文字列の中に&h20〜&h7eの半角文字が1文字でも含まれているかどうかを調べる、ってことでいいの?
164 :
156 :2008/06/25(水) 14:19:27
>159氏 半角カタカナは&H7Fより大きいので除外です。 >160氏 ありがとうございます。 正規表現でググったらそれっぽい説明がありました。 ちょっと?ですが解読してみます。 >162氏 なるほど、誤記でした。 どっちでも良いです。
逆に、確実に除外したい文字のコードの範囲を書いた方が速いかもよ
166 :
156 :2008/06/25(水) 14:29:04
>163氏 >文字列の中に&h20〜&h7eの半角文字が1文字でも含まれているかどうかを調べる、ってことでいいの? その辺もどちらでもいいんです。 実際には逆(全文字が範囲内であること)を行いたいのですが、 それなりに応用して使用します。 範囲も&h20よりも(<&h20は存在しないので)&h00の方が やりやすいのではと思っただけですので&h20でもかまいません。 1文字づつ切り出さなくてもINSTR命令みたいなモンで検証する 方法がないかを伺っております。
>>166 「全文字が範囲内であること」よりも「1文字でも範囲外の物があるかどうか」を調べた方がたぶん速いよ
こんな感じで一覧表を書いて↓
00〜20 どっちでもいい(ないことがわかっている)
21〜7e 含む
7f どっちでもいい
80〜ff あったら困る
>>166 正規表現使うとこんなかな。速度は自分で比べてみて。
Dim str
With CreateObject("VBScript.RegExp")
.Pattern = "^[ -~]+$" '←ここ適当に変えて
.Global = True
For Each r In ActiveSheet.UsedRange
If .Test(r.Value) Then str = str + r.Address & vbCrLf
Next
End With
If Len(str) = 0 Then str = "ありませんでした"
MsgBox str
169 :
156 :2008/06/25(水) 14:54:12
遅かったか… せっかく作ったので貼り Function MojiCheck(s As String) As Boolean With CreateObject("VBScript.RegExp") .Pattern = "^[!-~]*$" MojiCheck = .test(s) End With End Function
171 :
156 :2008/06/25(水) 15:11:32
>170氏 お手数をおかけしました(^^) ありがとうございました。
172 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 15:35:05
>>156 質問の意図とは違っちゃうと思うけど、可視文字かどうかを判別したいだけなら
CLEAN関数で不可視文字を削除した文字列と元の文字列を比較すればいいんじゃないかな。
173 :
172 :2008/06/25(水) 15:38:42
スレ読み返したけどやっぱ全然違うよなwスレ汚しスマソ
174 :
170 :2008/06/25(水) 15:52:05
さらにいくつか作って試してみたけど、
>>170 よりこっちのが少し速い。
もちろん
>>170 はそのままじゃなくて、オブジェクトの生成とパターンのセットを事前にやっておいて、
純粋にパターンマッチングだけの時間で比較した場合の話。
Function MojiCheck3(s As String) As Boolean
Dim c As Byte
For i = 2 To LenB(s) Step 2
c = c Or AscB(MidB(s, i, 1))
Next i
MojiCheck3 = c = 0
End Function
VBA厨ヒマそうだな
176 :
156 :2008/06/25(水) 16:04:57
>174氏 今はVBScript.RegExpと格闘しておりますので それなりに吸収できたら試してみます。 色々と検証いただき、ありがとうございました。
【1 OSの種類 .】 MacOS9 【2 Excelのバージョン 】 Excel98 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 矢印 excel 勝手にでる エクセルデータからの流し込み作業をしているのですが、 データのメールアドレスの行の、メアドの後ろに、勝手に矢印 (→向きで、先がくるっと回ってる感じ)のものが入ってしまい、 困っています。 すべて消去して、上書き保存したにもかかわらず、また入っていたりします。 ファイル形式は普通にxlsです。 症状に心あたりある方がおりましたら、ご助力お願いします。
178 :
177 :2008/06/25(水) 16:27:38
追記:すべてのメアドの後ろにつくわけではなく、 ところどころにあります。 メアドが最も右端の行になるのですが・・・
>>177 Windowsで作ったCSVを読み込んだ?
181 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 17:01:04
縦に2つのセルを結合させないまま その中央に文字を表示させる事は可能でしょうか? ちなみに横2つの場合は セルの書式設定で、選択範囲内で中央を選択してできました。 よろしくお願いします。
183 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 17:18:55
>>182 了解です
ありがとうございました!!!
184 :
177 :2008/06/25(水) 17:24:51
>>179 読んだのはあくまでxslファイルです。
>>180 Quarkです。ですが、エクセルの時点で症状がでてしまいます。
CRLFくさいなあ xlsファイルはmacで作ったのかwinで作ったのか 改行コードが違うから変な表示になってんじゃない?
186 :
177 :2008/06/25(水) 18:13:27
なるほど・・・ 確かにexcelファイルは、Winで作られ、支給されてきたのもなのです。 改行が関係していそうな記号(矢印)なので、 確かにその可能性は高そうですね。 そうなるとmacでの作業を前提とした場合解決は難しいでしょうか・・・
改行コードを取り除けばいいじゃない
>>187 >すべて消去して、上書き保存したにもかかわらず、また入っていたりします。
>ファイル形式は普通にxlsです。
だそうだ。CSVかと思ってたんだがなぁ・・
>>177 メアドがA1に入ってるとすると、B1辺りに=CLEAN(A1)
でも消えない?
消えるならこれで値でコピーすれば解決と思うんだけど
excelで6月12日と6月13日を合計すると11月25日になるのはなぜ?
190 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 22:41:06
excelで6月12日と6月13日を合計すると11月25日になるのはなぜ?
>>191 _,,../⌒i
/ {_ソ'_ヲ,
/ `'(_t_,__〕 >>グッジョブ!!
/ {_i_,__〕
/ ノ {_i__〉
/ _,..-'"
/
>>189 6月12日は5ヵ月と12日、6月13日は5ヵ月と13日
足すと10ヵ月と25日、すなわち11月25日だから
1900年も忘れないであげて
195 :
名無しさん@そうだ選挙にいこう :2008/06/25(水) 23:19:20
>>191-
>>194 こんなくだらない質問にお答え頂きありがとうございました。
とても分かりやすく勉強になりました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 図形のあるシートで、縦の列で印刷範囲を設定すると、図形が見えなくなります。 印刷範囲の設定をクリアしたり、行と列で印刷範囲を設定すれば、図形が見えるようになります。 列で印刷範囲を設定し、図形が見えなくならない方法がないでしょうか?
>>196 2003だと印刷範囲内に入ってれば消えないし普通に印刷できるんだけど・・
198 :
196 :2008/06/25(水) 23:45:46
>>197 図形は、画面で見えなくなりますが、存在はしています。
印刷すると、ちゃんと印刷されます。
Excel 2000、2003では、こんなことはありませんでした。
縦に伸びていくページでは、印刷範囲を列で指定しますよね。
みなさん、このような問題はないのでしょうか。
>>198 範囲指定せずにシート全体を印刷した場合はどうなりますか?
1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 ほんの少々 【4 VBAでの回答の可否】 できればVBA以外で A2以下の文字数が4文字のデータだけE列のE2以下に取り出したいのですがどうしたらいいですか?
202 :
103 :2008/06/26(木) 11:00:14
>>124 つまりは全てのレコードに20バイト分の領域を
確保するということでいいのですよね?
処理としては
2222,3333,14," " ←(分かり易く括弧ついているが実際は無し)
↓ ↑20バイト
を用意して、
「更新中,」を書き込む
↓
2222,3333,14,"更新中, "
↓ ↑20バイト
とすることで、要素を区切る。
仮に
2222,3333,14,"12345678901234567890"
↓ ↑20バイト
のようなデータがあっても、
2222,3333,14,"更新中,8901234567890"
↓ ↑20バイト
とし、"8901234567890"を処理で無視する
ことで、必要な「2222,3333,14,更新中,」を
過去のデータに依存せず取り出す事が
できる、と。
なんか勘違いしてますか?
>201 =IF(LEN(A2)=4,A2,"") 4文字が半角4文字相当ならLENB
204 :
201 :2008/06/26(木) 12:04:22
>>203 私の書き方が悪かったですね。
C2以下に詰めて抽出したいのです。
関数で詰めて抽出というのはかなりしんどい オートフィルタ使うといい
しんどい以前にエクセル関数で他セルへの出力はできない
>>204 201 >E列のE2以下に取り出したいのですが
204 >C2以下に詰めて抽出したいのです。
書き方が悪いっていうと、どちらでも取れるような表現とか
誤解を招きやすい表現だと思うが・・・・問題外だろこれ
考えすぎだと思うよ。 E列かC列に結果が表示されるように関数を入れたいんでしょ。 単なるタイプミスじゃないの?
210 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 14:41:52
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数字の色 パーセントの表示で一定の数値以下(以上)の数値の色が変えられないでしょうか? 例えば、目標の100%(この数値は毎月変わる)という数値を どこかのセルに入力しておいて、その数値より低い場合は赤色で表示して 超えている場合は青色で表示することは可能でしょうか? ↑この場合だと 90%だったら赤で表示 115%なら青で表示 宜しくお願い致します。
>210 条件付書式の設定 [Alt]+[O]→[D]
212 :
210 :2008/06/26(木) 15:08:30
大変勉強になりました、ありがとうございす。
213 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 16:51:41
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 EXCELで行列の1/n乗はどうすればよいでしょうか? 関数POWERで行なって数値が出てきたのですが、 間違いなく数値がちがっていて…。 宜しくお願いします
>>213 質問が良く分からんが
二の三乗分の一
=1/2^3
列*列
=ROW()^ROW()
行*行
=COLUMN()^COLUMN()
列や行と組み合わせたければ数字のところにrowなど置き換えればよろし
215 :
213 :2008/06/26(木) 19:09:00
>214 質問が分かりにくく申し訳ないです。 Aという行列があるとすると A^(1/6)といったことをやりたいのですが…。 宜しくお願いします。
>>215 数学の行列を計算したいって事なら
計算の定義を詳しく書いた方がいいんじゃないかなあ
ここでは数学の専門的な知識まで持ってる人少ないと思うから(俺も分からんけど)
217 :
213 :2008/06/26(木) 19:36:10
>216 なるほど…、もっともな話です。 ちょっと数学板のほうで聞いてみます。 エクセル上でやるとなった段階でまたお尋ねするかもしれませんが、 そのときはまたよろしくお願いします。
218 :
196 :2008/06/26(木) 21:13:16
>>200 ありがとうございます。これで解決できそうです。
Microsoft Updateしていたんですが、この修正プログラムは入らないようです。
219 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 21:20:22
220 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 21:40:47
標準正規分布の密度関数・累積分布関数のグラフを作成する グラフは−3.5〜3.5の範囲で作成すること。台形の面積を求めるきざみ幅は0.01にする。 正規分布表を作成する これは0.00〜3.49まで作成する。 ただし、これらの計算を行う際には、Excelに用意されている関数のうち以下のものを使用しない * normdist * norminv * normsdist * normsinv * lognormdist 無理です・・・ 意味すらわからない よくわかんない積分のグラフ?みたいなのと 表が4つ与えられているんですけど もうどうしよう
221 :
エクセル2003 :2008/06/26(木) 22:00:16
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 マクロを使っているファイルを開けると 「addinクラスのinstalledプロパティを設定できません」 とメッセージが表示され、計算が正しくされません。 マクロの知識は一切ありません。我が家の3台のPC(いずれもExcel2003) で見ても同じ状態です。エラーとしていろんなセルが「NAME」と出ます。 いつの間にかこのような症状になってますが、元通り計算ができるようにするにはどうしたら良いのでしょうか?
>>220 宿題は自分でやったほうがいいと思うけど、それらの関数の変わりにその表を使って計算するのだろう?
何で表を隠すんだ?
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 職場でエクセルで計算式を作っているのですが、私には複雑で上手くできません。 マクロは2年ほど前にちょっとだけ触れましたが、ほとんど覚えていません… 皆様にご指導いただければと思います。 行いたい計算は、 1、7桁の数字列の各桁に、1桁から順に、「2、1、2、1…」と乗じていく。 例)「1234567」だとしたら、7×2、6×1、5×2… 2、1で出した各桁の値の和を求める。ただし2桁の数になる場合は、その数の1桁と2桁の 和とする。 例)上の例の続きで行うと、(1+4)+6+(1+0)… 3、2で出した和の1桁の数字を10から引く 例)56だとしたら、10−6=4 このような計算を行いたいと思っています。 手作業で計算しているので、膨大な時間が掛かっており、少しでも簡略化できればと思っています。 分かりにくい質問で申し訳ありませんが、どうぞよろしくお願いします。
>223 簡単だが説明するのがめんどくさい。 1.MID関数で一桁づつ分解して2なり1をかけて各桁を計算する。 2.1の計算結果を.=rounddown(n/10,0)+mod(n,10)で10位と1位の和を得る。 3.2の計算結果を=10-mod(n,10) こんなところか?
変態的手法を考えてみた =10-MOD(SUMPRODUCT(MID(A1,{2,4,6},1)*1)+SUMPRODUCT(MOD(ROUND(2.1*MID(A1,{1,3,5,7},1)*1,0),10)),10)
226 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 23:45:45
オッサンのオナニー勘弁してくれ
>>223 バーコードのチェックサムがよく似た式だったな。あっちは1つ置きに3を掛けてたけど。
Function keisan(N As Long) As Byte
For i = 1 To 7
w = Mid(N, i, 1) * (1 + i Mod 2)
c = c + w \ 10 + w Mod 10
Next i
keisan = 10 - c Mod 10
End Function
228 :
名無しさん@そうだ選挙にいこう :2008/06/26(木) 23:55:35
エクセルのグラフをワードに 貼り付けて、90度回転させようとしてもできません。 ボタンがあるのですが、押しても回転してくれません どうすればいいでしょうか
>>221 会社で作った資料を持ち帰ったのでしょうか?
そのファイルを作成したパソコンに入っているのと同じ「アドイン」を自宅のパソコンにもインストールしないとだめですね。
>>228 形式を選択して貼り付けで画像として貼り付けるんだハゲ
231 :
エクセル2003 :2008/06/27(金) 00:18:12
229さん、ありがとうございます。 ホントに素人で、その「アドイン」とは何でしょうか? どうしたらインストールできるか御教授いたでけますでしょうか。
>>231 アドインというのはExcelに関数やいろいろな機能を追加するためのソフトで種類がたくさんありますし
自分で作ることも出来ます。
どんなアドインが必要かは、元のパソコンを調べるしかありませんから、そのファイルを今夜のうちに
開くことはたぶん不可能です。
アドインはExcelの追加機能だよ ケータイのデコシールとかと同じ感じで個人で追加する機能 だからもう追加してないPCで動いたファイルでも、追加してないPCじゃ動かない場合もある アドインいるかどうかは、そのExcelのファイル作った人に聞くのが一番 つーか他の人じゃ分からん。聞かれても知らん
234 :
エクセル2003 :2008/06/27(金) 00:55:20
難しいのですね。 自分のPCで以前まで動いていたのですが、コピーして別の数字を入れようと 元のファイルを開けたらエラーメッセージが出てきたんです。 付録に付いていたエクセルファイルを自分で加工(と言っても見栄え程度)した ものを再度使おうとしてただけなんです。 officeはアップデートした覚えがありますが、そんなので影響が出る場合もありますか?
>>234 ファイルが破損してるか、何か別のファイルとセットでコピーしなくちゃいけないのか、
考えられる要員は色々あるけど。
ウィルスのチェックはちゃんとやってる?
236 :
名無しさん@そうだ選挙にいこう :2008/06/27(金) 01:37:35
お世話になります。教えてください。 ExcelのVBAにて、double型の変数に、その変数が許容する、 正の最大値、又は、負の最大値を設定したいです。 double_maxのような特別な変数か、最大値を設定するメソッドありましたら、教えてください。
>>221 ツール、アドインで全てにチェック入れてok
分析ツール辺りツカッテルと思う
それでも動かない場合はオリジナルのアドインだろうから、
会社から持ってくるしかない
>>221 #NAME?エラーの表示されてるセルの式ではどんな関数を使ってる?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可(VBAを使わなくてもいいのであれば否で) 【5 検索キーワード 】 excel エクセル ヘッダー フッター 印刷 一つのフォルダにたくさんのエクセルファイルがあり、全てのファイルを左下フッターに 現在開いているファイル名(拡張子有り)で印刷したい場合はどうすればいいのでしょうか? 一つのファイルが1シートだったり30シートだったりします。 2万ファイルあり、現在一個ずつ手作業で入れています;; お忙しい所申し訳ありませんがご伝授お願いいたします。
>>240 ちゃんと動くかどうかチェックしてないから、テスト用のフォルダを作って実験してみて。
Sub 全ファイル全シート印刷()
ChDir ("C:\フォルダ\エクセルデータ") ' フォルダ指定
N = Dir("*.xls")
While N <> ""
For Each S In Worksheets
S.Activate
ActiveSheet.PageSetup.LeftFooter = N ' フッタ左にファイル名設定
ActiveSheet.PrintOut
Next
N = Dir()
Wend
End Sub
ごめん。いきなり大ポカやってた Sub 全ファイル全シート印刷() ChDir ("C:\フォルダ\エクセルデータ") ' フォルダ指定 N = Dir("*.xls") While N <> "" Workbooks.Open N For Each S In Worksheets S.Activate ActiveSheet.PageSetup.LeftFooter = N ' フッタ左にファイル名設定 ActiveSheet.PrintOut Next ActiveWorkbook.Close N = Dir() Wend End Sub
チェックはしてあげたほうがいいんじゃないの
>>241 >>242 ありがとうございます。動作確認できました。非常に助かります!
もう一点だけよろしいでしょうか?「保存をする」の窓を出ないようにするには
できないでしょうか?保存なしで実行したいのですが・・・。
245 :
エクセル2003 :2008/06/27(金) 10:30:31
221です。皆様ありがとうございました! 訳はわかりませんが、ツール→アドインで全てにチェックをしたら、 計算が進みました。 なぜエラーが出るようになったかわかりませんが、今のところ解決しました。
紙切れに注意 200枚ぐらいしかセットできないプリンターだと軽く200回は補充しなきゃならん計算だな。 これだけでも気が遠くなるわ…
>>244 これでよかったかな
ActiveWorkbook.Close
↓修正
ActiveWorkbook.Close SaveChanges:=False
>>243 自分の部屋にプリンターなくて。出力室まで行くのがめどい。
>>247 まじで神様だ・・・。
本当にありがとうございました。助かりました。
2万ファイル印刷ってどんな嫌がらせだw そんないっぺんに出力してもチェックできんだろうに。 あんまり簡単にやり遂げちゃうと、なんかまた別の無理難題を押しつけられそう。
紙足りなさそう・・ 20,000ページとしても4箱いるよな
今までで最大50シートあったこともありました・・・。
1シートが1枚に収まるとも限らないし。 シート名やページ番号も印刷しとかないと、うっかりプリントアウトの束をひっくり返したら終わりだぞ。
>>252 指示ではシート名とページ番号はいらないみたいなんです。
ご忠告ありがとうございます。
その書類の厚みだけで1M以上の高さになるんだが・・ まぁ他所の会社だから口出しは出来ないが、なぜかドキドキするぜ
マンガでよくあるよな。 手に持った書類の山で前が見えないの。 ぶつかったイケメン社員と恋の予感。
256 :
240 :2008/06/27(金) 14:07:23
あの…僕男なんですが…
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 印刷 エクセル 印刷を実行しても印刷しない方法はありますか? シートが二つあり、入力用と出力用と用途を分けているのですが、 誤って入力用シートで印刷してしまうことが多々あり、 紙がもったいないので是非防ぎたいのですが・・ 今は隅のほうのセルにだけ印刷範囲を設定していますが、 プリンターを通してしまうとどうしても黒い点が残ってしまうので 印刷自体防ぐ方法があればと思い質問しました。宜しくお願いします。
VBA使う以外あるわけないだろ
オートシェープで使用する○とかデフォルトで塗りつぶしを透明にする方法を教えてください。 Windowsxp Excel2003
260 :
259 :2008/06/27(金) 18:28:32
解決しました
261 :
名無しさん@そうだ選挙にいこう :2008/06/27(金) 18:59:57
>>257 解決とまではいかないが、うちで不慣れなジジイ達用に
エクセルのアイコン設定を変えている。
つまり、プリンターのアイコンを「ボタンの表示/非表示」で
消して印刷プレビューのみにしてる。
こうすると必ずプレビューで確認することになるので、
多少はミスプリントが減るようだ。
素直にVBA仕込んどいた方が簡単だと思うぞ。 どのシートを開いた状態でも出力用シートを印刷とかできるから。
どっちが簡単かっていったらあきらかに
>>261 だろ
入力用と出力用でシートの背景の色を変えておくというのもよく使う手だ
簡単だけど確実じゃないよね。 慣れてくるとプレビューの画面をよく確認せずに機械的に続けて印刷ボタンを押すようになっちゃうから。
あるあるw ダイアログが出たらメッセージはよく読めって言ってんのに、何も考えずに脊髄反射でOK押しちゃうやつの多いこと
266 :
257 :2008/06/27(金) 23:47:33
ありがとうございます
>>261 のさんの方法試して見ます
無理ならVBもちょっとかじったことあるので勉強してみます
>>264 一見そう思うだろうけど、実際にはその逆なんだ。
はじめは、よく確認もせず印刷しちゃうんだけど、ミスプリントという結果が付いて回るから、
やがてプレビューのチェックをちゃんとする様になってくるんだ。
確かに完全にミスプリントを防げるわけじゃないけど
本人の自覚を向上させるほうが結果的に良いだろ。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル データ 重複 -フィルタオプション GARNETの2年目弁護士日記 GARNETの2年目弁護士日記 EU労働法政策雑記帳 EU労働法政策雑記帳 Binwa Diary Binwa Diary と言うデータがあるのですが 上2つは、フィルタオプション-重複するレコードは無視する にしても、1つになりません。 一番下のデータは、フィルタオプション-重複するレコードは無視する にすると、1つになります。 この違いはどこにあるのでしょうか。 また、3つとも、一つのデータにするにはどうしたらよいのでしょうか。 よろしくお願いします。
>>268 文字列の後ろにスペースの数が違うので同じにするかどうにかすればいいです
270 :
名無しさん@そうだ選挙にいこう :2008/06/28(土) 01:07:27
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 エクセルのファイルAとBがあります。 ファイルA、Bには1番から連番が振られているのですが、 ファイルBのX番を切り取ってファイルAに貼り付けるみたいなことは VBAでできますか? できるならVBAのコード教えて
271 :
名無しさん@そうだ選挙にいこう :2008/06/28(土) 01:48:59
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 エクセル グラフ 無料 エクセル チャート エクセル グラフ きれい 時系列データをグラフで表す必要があるんですが、質問させてください。 普通のデータを入力し、範囲をドラッグしてグラフ作成ボタンを押して作成したグラフだと安っぽいというか、あまりキレイじゃないので、これをキレイに作りたいんですが、何か方法はありますか? どこかのサイトから作成された見栄えの良いものをダウンロードし、データだけ入力しなおすというものがあれば教えていただきたいです。 最終的にパワーポイントに貼り付ける予定なので、パワポのサイトでもかまいません。 パワーポイントのリソースとしてはプリントアウトファクトリーを使っているので、あんな感じのものを希望します。 サイトがなくても、キレイな見栄えの良いグラフを作る方法でもかまいません。 どなたかお願いします。
>>271 1. Excel2007にアップデートする。
2. デザインタブの「グラフのスタイル」から好きなのを選ぶ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 =IF(F4=6C2,"○","×") と入力するとエラーが出てしまいます??? 「6C2」のような数列は使えないのでしょうか? 解決策あったらお願いします。
>>273 6C2って何を意図してるの。
組み合わせ?
商品の製造コードです
>>273 数列じゃなくて文字列。決め付けないように
=IF(F4="6C2","○","×")
>>270 ファイルを開いてセルを指定してカット&ペーストはこんな感じ
Workbooks.Open "ファイルB.xls"
Range("A1:A10").Cut
Workbooks.Open "ファイルA.xls"
Range("B1").Select
ActiveSheet.Paste
278 :
名無しさん@そうだ選挙にいこう :2008/06/28(土) 12:37:20
ROUND関数は納得できない。 ROUND(1234.567,2)→1234.57になるが 普通小数点以下第2位で四捨五入するものと勘違いしてしまう。 本来は1234.6になるべき 1234.6を求めるにはROUND(1234.567,1)とせねばならない。 これはROUND関数をわざわざ四捨五入して小数第(引数2)位まで求めよと読み変えなければならない まったく不満だ。
>>278 カチンコチンだね、やわらか頭になんな!
>>278 小数点以下第2位「までになるように」四捨五入する
というのがアメリカ人の感覚らしい
諦めれ
>>280 私はそっちの方が感覚に合うな。
どっちにせよ
>>278 は本質的でないことに不満をもっている。
もっと大きい問題は日本人が未だに数字を3桁区切りにしていることだな。 なんで誰も4桁にしようって言い出さないの?
釣りは程々に・・
??????????????毎日新聞社による日本人女性への誹謗中傷??????????????
・母親は受験勉強をする息子の学力向上のためにフェラチオをする
・日本人女性の55%は、出会ったその日に男と寝る
・ファストフードは女子高生たちを性的狂乱状態におとしいれる
・ティーンたちはバイアグラを使ってウサギのようにセックスをする
・女子高生は、刺激のためにノーブラ・ノーパンになる
・日本の最新の流行 : 70歳の売春婦
・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある
・日本の若い看護婦は売春婦に勝る
・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている
・15未満の子供を対象とした疑似ポルノが日本に蔓延している
・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている
・人妻は気分転換の目的で昔の恋人に抱かれに行く
・主婦は郊外のコイン・シャワーで売春をしている
・日本男子は柔道や空手の部活で男相手に童貞を捨てている
・ほとんどすべての漁師は海でマンタとSEXしている
・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している
・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する
※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です
※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです
◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki
http://www9.atwiki.jp/mainichiwaiwai/ ◆毎日新聞問題の情報集積wiki
http://www8.atwiki.jp/mainichi-matome/ つまり日本国民は
http://www.vipper.net/vip552788.jpg
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 勤怠 小数点以下 切り捨て 出退勤の管理表を作ろうとしています。 うちのローカルルールで、退勤時間が 0分〜7分 →0分 8分〜22分 →15分 23分〜37分→30分 38分〜52分→45分 53分以上 →切り上げ (例えば18時37分に退勤した場合、給与計算に反映される退勤時間は18時30分となる) 上記のように退勤時間をいい感じに切り捨て・切り上げしたいのですが どうしたらいいでしょうか。
0−59のテーブルを作ってVLOOKUP()で参照
>>285 A1に実際の時刻が入っているとして、15分単位で四捨五入する式はこう。
=FLOOR(A1+"0:07:15","0:15")
【1 OSの種類 .】 Windows VISA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Excel2007で、シートの右端に「ワークシートの挿入」ボタンが表示される ようになりましたが、これって非表示にできないでしょうか?
人生は自分で切り拓け 現状に甘えない / ̄ ̄ ̄\ 何もやらなかった、今までの自分 向 /\ / \ 両親へ、感謝の気持ち 上 / <●> <●> \ 未 心 | (__人__) | 来 人生をあきらめない \ `ー'´ / へ 常に自分を鍛える / \ \______________/ O .__ o 。 n_ / - -\ (_/ (● ●)\ <寝る前にこんな決意してたけど ( :::: (_人_) ::: ) 朝おきたら元に戻ってたお ヽ ヽノ ヽ l l、_つ | x |
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】? Rangeオブジェクトを値渡しで直接他のRangeにCopyできないでしょうか。 Rangeオブジェクト1.Copyとするとクリップボードに貼りつき Rangeオブジェクト2.PasteSpesial xlPasteValues :Paste=xlPasteValues とするとクリップボードの値が貼りつきますが Rangeオブジェクト1.Copy(Rangeオブジェクト2) のような形式でうまく値だけ貼り付けることはできませんか。
>>291 例) クリップボードを使わずにA1:A3をB1:B3にコピーするには
Sub aaa()
Range("A1:A3").Copy Range("B1:B3")
End Sub
>>293 ご回答ありがとうございます。
その方式で昨日もやっていましたが
コピー元のセルに=cell2!A4 というような参照式があれば
参照式としてコピーされ、そのうち異常終了するように
なってしまったんです。
クリップボードの中身を書き換えたくないなら変数を経由するとか
よくわからんが range("A1").value = range("B1").value 'formulaでもtextでも好きなのどーぞ で済む話?
298 :
名無しさん@そうだ選挙にいこう :2008/06/28(土) 19:10:36
アホな質問なんですが 食費 雑費 家賃 A1 100 200 300 ・ 100 100 100 ・ ・ 計 200 300 400 みたいな表があって円グラフで一月の合計額を表示させたいのですが グラフ作成をやってもうまく作れないっす。。どこまでを選択したらよいものか よくわかりません。 単純に 項目(食費、雑費など)を選択して合計額の部分だけ選択すればよいものかと おもってたのですがうまく表示できないです。 誰かご指南をよろしくお願いします。
>>298 8行目が合計とすると
データ範囲で
=Sheet1!$A$1:$C$1,Sheet1!$A$8:$C$8
って感じ
>>296 Rangeオブジェクト2.value = Rangeオブジェクト1.value ですか、
試してみます。
ここって自分で質問して自分で回答してる人いるよね 昔から
どのスレにもいるよ。気にしない
「自己解決しました」よりいいんじゃね
困っています Excel2007にアップグレードしたのですが、均等割付がめんどくさいです 前までのはボタン一つで出来てたのに、2007は三手間ほど掛かってしまいます ボタン一つで出来る方法はないでしょうか? XPです。VBAってのはちょっとわからないです。
305 :
304 :2008/06/28(土) 22:15:29
自己解決しました。
>>305 ちょwww 70秒で自己解決wwwwwwww
2003以前もデフォルト設定じゃ均等割り付けのボタンは出てないし。ツールバーをカスタマイズしないと。
>>307 そうでしたか
いちおうツールバーもいじってみたんですが…どないもなりません
もしかして305は偽物?
気づけよw
>>308 Officeボタンの右上にあるフロッピーディスクのアイコンを右クリック→
クイックアクセスツールバーのカスタマイズ→左ペインの「ユーザー設定」→
コマンドの選択から「リボンにないコマンド」を選んで、その下のリストの上から2/3あたりにある
「均等割り付け」をクリックして「追加」ボタンを押してOK
これで均等割り付けボタンがクイックアクセスツールバーに追加される
>>311 うおおおお
できました
ありがとうございます
>>288 VSTOあたりを使えばできそうな気もするけどできないかもしれない
タブのIdは固定だと思うんで、最悪プロパティを書き換えればたぶん消せる
>>269 お答えありがとうございます。
半角スペース1文字が入っていたので
関数使って消去しました。
315 :
名無しさん@そうだ選挙にいこう :2008/06/29(日) 01:37:11
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007・2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル データ リンク 変更 異動 なんか変 検索ワードが思いつかないです。アドバイスキボンヌ。 デスクトップに、仕事\やる仕事\やな仕事\超やなプロジェクトというような(捨てたので良く覚えていません)、フォルダを作り、 その中にブックAと、ブックB(ブックAのデータを参照するブック)を作りました。 プロジェクト終了後、 ブックAとブックBを新規フォルダにまとめて、マイドキュメント\仕事\終わった仕事フォルダにいれました。 後日ブックAを開くと、数字はみれるのですが、 ブックBへの大量のリンクが切れているといいますか・・・リンクの更新が出来ません。 セルの場合、行を挿入すると参照していた所がその分自動で動いていたのですが、 外部へのリンクは手作業で書き換えないといけないのでしょうか? 変更箇所が1000とか2000ではすまないので、困っておりますorz しかも、やな仕事\超やな仕事というリンク先の名前・・・部下にやってもらう訳にも行かずorz どうか解決策を教えてくださいまし・・・。
316 :
315 :2008/06/29(日) 01:39:31
後日ブックBを開くと、数字はみれるのですが、 ブックAへの大量のリンクが切れているといいますか・・・リンクの更新が出来ません。 済みません、↑AとB逆でした。
>>316 置換を使うといい
範囲選択後CTRL+H。
>>317 レストンクス!
置き換えですか、そう言えば検索の枠の裏に置換タブが出てきたような・・・。
フォルダ名の所を置き換えるという事ですね。
(;`・ω・´)だいぶマンドクササが軽減されました。ありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 別のセルを参照 条件付き書式 左のセルを参照して、右のセルの書式を設定した表を作ろうとしています。 具体的には左に○が入力されていたら、右の文字色を変えるという内容です。 書式を設定したいセルを全て選択して 「条件付き書式」で「数式が」「=R2C1="○"」「設定したい文字色」 と設定しようろしても、○以外のデータが入力されているものも文字色が変わってしまいます。 (R2C1は左のセルの先頭です) どうすれば別のセルを参照して条件付き書式を設定できるのでしょうか。
>>319 R1C1形式でやってんの?そうでなければ数式は=A2="○"でいいんだよ。
別のセルにコピーすれば、条件の数式のセル名も自動的に変わるよ。
R1C1形式なら「左のセル」を参照する式は=RC[-1]="○"
A1形式はデフォルトが相対参照、絶対参照にするには$A$1のように、記号を付けて区別する。 R1C1はデフォルトが絶対参照。相対参照にするにはR[1]C[1]のように記号を付けて区別する。 =R2C1="○"だと、条件を設定した全部のセルが自分の左ではなくR2C1をチェックすることになってしまう。
323 :
名無しさん@そうだ選挙にいこう :2008/06/29(日) 09:59:44
2003を使っています。 「系列の順序」で表示されているグラフの順番を変えたいのですが 「系列の順序」を選択しても選択したグラフしか表示されないため 変更することが出来ません。 どうすれば良いのでしょうか? どなたか教えて下さい。
325 :
323 :2008/06/29(日) 10:19:40
散布図でやっています。 いま分かったことなのですが、2つのグラフのうち片方を2軸を使って表示しているのですが これを1軸にすると表示されることが分かりました。 2軸を使ったまま系列の順序を変えるためにはどうしたら良いのでしょうか?
>>325 散布図の仕様で、系列1は2軸にできないようです。
VBAで強制的に軸や順序を変更しようとしたらすべてエラーになりました。
327 :
名無しさん@そうだ選挙にいこう :2008/06/29(日) 11:08:00
つまり2軸グラフの上に1軸グラフを乗せることは不可能ということなのでしょうか? 絶対に2軸グラフが上にくるということなのですか?
どちらが上とか言うものでもないとおもう
>>327 そういうことになりますね。
>>328 上下は重要ですよ。グラフの見栄えがけっこう変わってきます。
330 :
319 :2008/06/29(日) 14:43:09
>>320 >>321 >>322 ああ! ありがとうございます。
R1C1形式というものを知らなくて、なんだか家のと表示が違うな
ぐらいにしか思っていませんでした。
最初に疑問に思ったことを調べるべきでした、ごめんなさい。
分かりやすい説明で、勉強になりました。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル 個数 マクロ A列が入力用セル(数値)なんですが入力データ自体が連続データなんで補佐用に同A行には関数が入っております。 実データを入力し、数値入力された個数をマクロに割り当てたいのですがよい方法をお願いします。 ※関数の都合上例えば5行までのデータとしても 111 222 333 444 555 ”空白”←手動で消去 0 0 ・ ・ ・ 上記のような形になるんですが、上から下にセル個数を見てマクロの中の変数に代入したいんですが・・・・ (この場合だと空白までの数値”5”という数値を代入) お力添えお願いします。
>>331 空白セルを検索して、その1個手前が何行目かを調べればいいんだから
X = Cells.Find("", SearchOrder:=xlByColumns).Row - 1
これで変数Xにデータの個数が入るはず
334 :
名無しさん@そうだ選挙にいこう :2008/06/30(月) 05:55:25
Excel2003で メニューバー、ファイル からのメニューで出てくる 最近開いたbookのリスト、デフォルトで4つですが これを10こに増やしたいのですが方法ありますか?
エクセル昨日から使い始めた初心者です。 なんとかググッたりヘルプ見て最低限簡単に使うぐらいはできたんですが セル内で文字を書いてそれを太字と色を変えた後に、追記する文章があって改行しました。 ところで改行後も太字と文字色が継続してしまうのですが、これは手動で戻すしか無いのでしょうか? どうもググり方が悪いのか全然方法が出てこないのでよろしくお願いします。
>>334 できない
ユーザー設定の全般で増やせるのは9個まで
>>336 ユーザー設定じゃなくてオプションだった
VBAでネットワーク上の共有ファイルを読み込ませているのですが 一度ファイルを読んで判定し、その後追記処理を行う場合、一度 ファイルを閉じてAppendで開き直すことになると思うのですが その際、閉じてすぐに開く場合でもFreeFile関数でファイル番号を 取得すべきなのでしょうか?処理で言うと Open NetworkFile For Input As #ReadFile (ファイル読み取り処理略) Close #ReadFile (判定処理略) Open NetworkFile For Append As #ReadFile ←FreeFileを使わず開きたい ということをしたいのですがおかしいでしょうか。 判定後、誰かに開かれる前にすぐにファイルを書き変えたいのです。
おかしい。閉じなきゃいい。 誰かに開かれるのを許可したくないなら、ロックをかけて開くか、ロック用のファイルを用意するのがセオリー。 そもそも多人数が同時にアクセスするようなデータなら、テキストファイルで何とかしようとする考えが頭おかしい。
341 :
339 :2008/06/30(月) 12:17:29
>>340 確かにあまりいい運用ではないと思います。
ですが、頻繁にアクセスするファイルではなく
そのアクセスも一瞬なので問題は無いと考えています。
上では面倒なのでInputとしていますが、
実際の処理としてはレコードが存在するものは
バイナリモードで書き換え、存在しないものは
レコードを追記したいのですがバイナリモードでは
追加ができないため一度閉じてAppendで開き
追加保存している状態です。
閉じなきゃいいというのはどういうことなのでしょうか?
Closeさせなければ追加モードで書き込めないと思うのです。
何か方法があるということでしょうか?
たとえばバイナリモードでもレコード追加ですとか…
またお前か。好きにやってれば?
343 :
339 :2008/06/30(月) 12:45:46
>>342 あなたは
>>340 さんですか?そうでなければ、少なくとも
あなたには聞いていないです。
ここは一つ黙っていて頂きたいのです。
わたしはスレ違いな事を書いてはいませんし、今までもらった
アドバイスを無碍にするようなこともしていません。
もちろん無理な処理を実現するために解決策の無いような
質問を繰り返しているわけでもありません。
根っこが腐ってるんだよ
自分の理解できない単語を並べて他人が会話してるの聞くと 仲間外れになった気分でイライラして煽りたくなっちゃうんだろうな・・・ 気持は分からないでもない・・・
いやもう必要な情報書いてるし、黙ってから好きにすれば?って事なんだけど。 理解できないと煽ってるように見えるんだろうね。てんてんてん。
しかし困ってるのに自分で解答者を敵に回すとは・・・
348 :
339 :2008/06/30(月) 14:22:21
>>347 >>342 =346のような輩に教わる事はなにもありません。
そもそも
>>343 の質問にすら答えないような奴ですし。
立場の違いを利用して威張る奴に大した知識が有るとは思えません。
あってもそんな奴から学びたくはありません。
それにわたしが聞いているのはファイルナンバーを保持したまま
Open&Closeを繰り返しても問題ないか否か、ということです。
ファイルのロックはそのファイルを開いている間の話であって
OpenとCloseの間には無関係のはずですし。
こういう自分の知識を過信して、話もよく聞かず、理解もせず
ただ自分の感情のみで相手を批判する人は最低だと思います。
これだけは言っておきたい。質問者は尊厳を捨てているわけではないのです。
回答者は相手が人間だということを忘れないでほしい。
弱い者をいたわり、互いに助け合い、どこの国の人達とも
友達になろうとする気持ちを失わないでほしい。
例えその気持ちが何百回裏切られようとも。
それが私の変わらぬ願いです。
>>348 藻前は2ch向いてない
gooとかyahooで質問してろ
350 :
339 :2008/06/30(月) 14:31:14
>>349 そういう煽りは不要です。わからないなら黙っていたらいかがですか。
己の無恥さを晒す事もないと思います。
>>348 あのな、うちらは、人間じゃなくて「名無しさん」を相手にしてるの。
質問者の尊厳を大事にして欲しかったら、
「名前」欄に本名書け。
352 :
名無しさん@そうだ選挙にいこう :2008/06/30(月) 14:40:13
質問者も回答者もExcel関係無い事でスレ消費してんじゃねーよ馬鹿
>>348 VBA版で質問すること
多くの人がこの板を暇つぶしで見てるだけだから
>>351 なにが”うちら”だ。相手に対して不遜な態度を取っているのはおまえだけだ。
他の回答者は相手の力になるべく、親身になって尽くしてくれている。
それはレスを読めばわかることだ。
だからこそ感謝と敬愛の気持ちを持って質問者達は集うのではないのか?
そしてその受け継がれた英知が質問者を回答者へ成長させ次の世代へと
知識を継承させていくのではないのか?
俺はこのスレで質問する者たちの代弁者だ!俺はお前を含めた全ての住人の為に戦っている!
>>353 わかりやすい自演キモイです。誰もあんたに賛同なんかしませんよ。
品位を落として加担する理由がないw
もっとも、長文をだらだら書いてる私にも加担する者はいないでしょうけどね。
多くの住人の感想は
>>352 だと思いますよ。
356 :
339 :2008/06/30(月) 15:09:41
355はわたしです
357 :
339 :2008/06/30(月) 15:24:59
すみません、熱くなっちゃいました。 私もたいがい不遜ですね。 頭冷やしてきます。
358 :
339 :2008/06/30(月) 15:33:28
>>357 は偽物だ!
俺は断固として戦う!
相手をおとしめることでしか自己のアイデンティティを確立できない
偽回答者をこのスレから叩き出すために。
「英知の輪廻」をこのスレに遍く広めるのだ!
吹いたw 面白いから知識があれば回答してやるところだが生憎VBAは使えん、残念だ
かうしてExcel総合相談所スレ初のクソコテがたんじゃうした。
シカトしやすくなって便利だな。大歓迎だよw
以前「せんせい」って言うのがいたけど 今度は「せいと」だね
トリップを付けなければ騙られ、つければ無視、またはあぼーんされる… 例えるならExcelスレとは終わらないワルツのようなものです。 挑発・憤慨・冷静、この三つのレスが終わることなく回り続けるのです。
スルーできないひとがいるとそうなるだけだよ
このスレの回答者はバカばかりと言うことが前スレで完全にばれてしまった。 在庫管理 シフト作成 部品管理 こんなありふれた問題にも回答できない連中だ。
>>366 ∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
WindowsVISTA Excel2007 VBAもマニュアルみればなんとか… 質問です。 AAAAA AAAAA XX ZZZZ ZZZZ BB ああああ ああああ ああああ 222 222 222 222 のように文字の種類も桁数も違う値が34000行くらい並んでます。 その中で重複してる文字列の数を数えたいのですが、良い方法ありますか? ↓のように。 AAAAA:2 XX:1 BB: ああああ:3 222:4
>>368 最初のAAAAAがA1とすると
B1に=COUNTIF(A:A,A1)
で下までオートフィル
後はA列でオートフィルタ、フィルタオプションで重複するデータは無視にチェック
>>370 並べ替えしてるならそれが一番早いな
してなくてもコピーすればいいし
>>368 2007だと集計じゃなくて小計なんだよな。なんで名前を変えたんだろう。
まず先頭に1行追加して、なんでもいいから適当にタイトルを付ける。そうしないと集計してくれない。
で、列全体を選択してから、データ→小計→OK→OKで同じ物がいくつ並んでいるか数えてくれる。
ワークシートの左にツリーが表示されるから、その一番上の「2」をクリックすれば、目的の結果が得られる。
集計なんて34000行もあったら使い物にならんだろ?
>>369-371 別に何使っても同じ結果になると思うンだけど
368には全部試してどれが一番良かったか聞かせて欲しい
377 :
368 :2008/06/30(月) 23:33:44
なるほど!感謝です
答えてくれた方ありがとうございます!
とりあえず、集計=小計で試して無理そうなら
ピボットとやらを使ってみたいと思います。
>>371 なんて方法もよいかもしれないです。
378 :
名無しさん@そうだ選挙にいこう :2008/06/30(月) 23:33:46
時間を簡単に入力できる書式ってないのでしょうか? 0700と入力すれば7:00になるような 膨大な量をこなすことになったのでつらいです
379 :
名無しさん@そうだ選挙にいこう :2008/06/30(月) 23:34:44
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 データ追加 グラフで一つのデータを固定しもう一方のデータをコマンドボタンを押すと マクロ操作によりグラフの重ね書きがされるという操作をしたいです。最後は、「次へ」という ボタンをクリックすると重ねるデータが変わるようにしたいです。
半角カナ→全角カナ ひらがな→全角カナ をまとめて変換ってできませんかね?
できるよ〜(・з・)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 文字列の頭3文字だけ残して残りは切り捨てるようなことはできますか? ”あいうえお”→”あいう”
383 :
名無しさん@そうだ選挙にいこう :2008/06/30(月) 23:50:43
>>378 =(A1/100)&":"&TEXT(MOD(A1,100),"00")
>>378 無い
7.3で7:30、ってのなら7.3をA1に入力するとして
=TIME(INT(A1),(A1-INT(A1))*100,0)
って感じ。後は書式設定を適当に
>>380 =JIS(A1)
で半角を全角に
ひらがな→カナは
>>385
ダミーデータ作って試してみた。 34000件の小計はCPU1GHzのサブノートパソコンで約40秒。 待てないほどの時間ではない。使い物になるかどうかは状況による。
a a b b a a をピボットで集計したら a:4 b:2 になっちゃった。2007で a:2 b:2 a:2 にするにはどうやるの?
>>378 =TIME(A1/100,MOD(A1,100),)
>>388 40秒で待てない時間ではないって…
どんだけ暇な仕事してんだよ…
>>389 それこそ小計(集計)
392 :
382 :2008/07/01(火) 00:26:10
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 >384 あり ちなみに文字列の中間を取り出すことはできますか? ”あいうえお”→”いうえ”
MIDです。 そして次の質問の答えがRIGHTです。
>>391 40秒が待てない人は、答えが返ってくるまで何時間待たされるかわからない2ちゃんねるなんかで
質問しないと思わない?
395 :
382 :2008/07/01(火) 00:47:29
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 >393 あり×2 もうひとつおねがいします。 あ 10 い 20 う 30 え 40 お 50 こういう表があった場合 セルの文字が”う”だった場合”30”を返す式お願いします。
宿題は自分でやれ
398 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 01:03:15
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excel2007において、散布図に近似曲線を追加したのち、 数式を表示して出てきた数式ともとの近似曲線が 合わないんですけど、これって僕だけですか? 多項式近似すると、後半部分で大きくずれます。
>>395 うざいからExcelの関数の本一冊読んで来い 逆引きがいい
>>391 ピボットでできなかったのが悔しいんですね、分かります
>>389 の条件だと小計でしか出来ないし、40秒待つしかない
VBAなら処理は早いけどそこまでするほどでも、ねぇ
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 「2008年6月30日」という文字列を数値の「2008/6/30」と表示させたいのですが。 数値として扱えるようにするにはどういう関数を使えばいいですか?
>>402 オツムを使えば手作業でもチャチャっとできるだろ?
B2に1を入力、B3以下に=IF(A3<>A2,1,B2+1)
としておいて、フィルタオプションで一つ上と違うものを抽出すりゃ簡単。
集計みたいなクソ機能使う必要なし。
ところで集計とか統合とかピボットテーブルって開発チーム違うのかね。
関数などはいろんなところにそれぞれ作らせたって聞いたことあるが。
405 :
404 :2008/07/01(火) 08:55:22
まつがった。 ひとつ上じゃなくて、ひとつ下と違うものを抽出な。
>>403 文字列を表示させるのは無理。その日付だけでよければ出来るがね。
データ、区切り位置、次へ、次へで「日付」にチェックを付けて完了でシリアル値に変換汁
>>403 A1に文字列が入ってるとして、
「A1+0」でもいいし、「=DATEVALUE(A1)」でもいいんじゃね?
で、表示形式を変更
>>371 A列の重複するレコードを無視して、計算式のあるB列も一緒に抽出するにはどうしたらいいですか?
選択範囲内に抽出して、コピペするのかな?
ところで「重複するレコードは無視する」って一番上を残すんじゃなかったっけ?
>>408 =COUNTIF($A$2:A2,A2)じゃなくて、=COUNTIF(A:A,A2)だから一番上を残してもok
ほんとはクソ重いCOUNTIFは問題ありまくりだがな
410 :
408 :2008/07/01(火) 09:56:45
>>402 流れが読めないほど頭が悪いんですね、分かります
>>411 VBAで
>>404 みたいなこと考えてるだろうから、それほど頭が悪いわけじゃないだろう。
どうやったらできるか考える力がなくて集計でしかできないと思ってたら終わりだがね。
>>412 VBAで考えてる人がみんな頭がいいと考えるほど何も知らない方なんですね、わかります
そしてあなたも流れが読めないほど頭が悪いんですね、こまります
なんか40秒にこだわってるけど、 しょぼいノートで40秒なんだから、デスクトップならもっと速いんじゃないの?みんなノートで仕事してんの? 画面やキーボードちっさいと、それだけで能率悪くならねえか?
415 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 13:02:57
紙(下の方)がペラっとめくれたような感じの枠組みにするにはどうしたらいいのですか?
オートシェイプ
そんなことはウチの総務に言ってくれ 最近マシになったが二年前まではNT4+ブラウン管使ってたぜ
>>389 ピボットテーブルでできるよ。
まったく無意味にその順番に並んでいるわけじゃないんでしょ?
ソートの優先順位が高いデータが他にあるんじゃないかな。
それを利用すればいいよ。
>>418 の続き
例えば
担当 商品
1 a
1 a
1 b
1 b
5 a
5 a
のように商品より担当を優先してソートしているデータだとする。
ピボットテーブルで行のフィールドに担当と商品の両方をドラッグしたらいい。そしたら担当別、商品別に集計できる。
>>414 そんなのは慣れです。
それにデスクトップだからと言って重い式を乱立するような
社員は役立たずです。
また、総務として考えると全員にパソコンを持たせるにあたり
電気代やキュービクルの増設のような設備投資を考えると
ノートの方がはるかに会社にも環境にも優しいです^^
エスパーしすぎw ピボットテーブルを使いたくてしょうがないみたいだなw
パソコンが速くなると馬鹿が多くなるね。
1回こっきりの問題なのか、ルーチンワークなのか、それによって違ってくるのに 処理が早けりゃいいと考えてる人って何なの?馬鹿なの?
処理速度はピボットよりVBAのが速くないか? 単に同じ物をカウントするだけのプログラムならそれこそ1分もかからず作れるし。 2回以上同じ仕事やるんなら間違いなくVBAのが有利だな。
>>413 VBAがどうのこうのじゃなく、どういうロジックならできるかということを考える力があるかどうかなんだよ。
今回は上と同じなら1を足して、下と違ったら抽出するという超簡単なロジックだがね。
中身を理解せずただピボットテーブルの使い方を知ってるだけの人よりは馬鹿じゃないことはたしか。
ヘイッ!ベーベー ぞろぞろ集まって楽しそうだな そろそろ仕事始めろバカ!!
昔はVBA厨変態がいたがピボット厨に鞍替えしたのか?
>>425 君らの考えるロジックなんぞ所詮グループ別抽出か集計じゃないか。
だから超簡単なロジックって書いてるね。
>>425 412の文章を読んでそんな確信をもって決めつけるとはw
そーかそういうことかーー
本人自演乙www
>>421 結局はグループごとに分けて集計するんだよ。
ピボットテーブル使わない人はそういう本質に気付くのが遅い。
432 :
425 :2008/07/01(火) 14:49:45
ん?.俺は
>>412 じゃねーよ。
今回は手作業でもVBAでも超簡単じゃん。
VBAって書いてるだけでやろうとしてること分るだろ?
VBAでもCountif使うようなやつも稀にいるけどな。
433 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 14:49:54
>>426 安心しろ!俺はニー
じゃなく今日は休みだ!
■■■■■戦況報告■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 毎日:すばらしい・・!最高の記事だと思わんかね・・・ふっはっは、見ろ!!日本人が変態のようだ!! 既女:・・・! 毎日:っ、何をする!! 既女:(電凸) 毎日:やめたまえ・・・いい子だから。さあ! 既女:お願い、スポンサーさん話を聞いて〜 毎日:はっはっはっは、無駄なことをするというのかね? N+:今北!祭り会場はここか! 既女:毎日が・・・削除を・・・保存してぇ・・・ 毎日:その魚拓を大事に持ってろ!2ちゃんの命と引き替えだ!!・・・立て!電凸ごっこは終わりだ!!・・・ 終点が、報道フロアだとは、上出来じゃないか。ここへ来い! 既女:これが報道ですって?!!ここはお墓よ。あなたとあたしの。・・・捏造がバレたのに、削除で済まそうなんてこっけいだわ。・・・ あなたは広告主にも見捨てられて、私と死ぬの!! オカ:・・・・ 既女:・・・いまは、・・日本のマスコミがなぜ滅びたのかあたしよく分かる。ゴンドアの谷の歌にあるもの・・ 事実を報道し国民とともに生きよう、公正な記事を心がけ国歌くらいはうたおう・・・ どんなにひどい捏造をしても、たくさんの偏向した記者をあやつっても 国民からはなれては生きられないのよ! 毎日:毎日は滅びぬ。何度でも甦るさ!マスコミの力こそ、社会の正義だからだ!!次は法的措置だ。・・・ ひざまづけ!命ごいをしろ!!誹謗中傷を取り消せ!!! VIP:ちくわ大明神 N+:待てーーーっっ!!魚拓は取った!既女を訴えてみろ、祭りは止まらないぞ!! 既女:祭りを止めちゃ駄目、どうせこの人は2ちゃんねるを潰す気よ! 毎日:小僧。既女板と引き替えだ!魚拓を消せ!!・・・それとも、その田代砲で、私と勝負するかね? N+:誰だ今の オカ:パルス!!!!!!!!!111111 毎日:目がああぁぁぁああああああああああ!!!!!!!!!!!!!!!1111111111 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
435 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 20:40:38
【1 OSの種類 .】 WindowsXP-Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 数式 文字列 セル 例えば、2つのセルの値が (A1,B1) = (123, 456) である場合、C1に A1*100+B1+500 という数式を入れて計算したいとします。 この場合、C1は 13256 になるのですが、ある特定の列のセルでは計算 が行われず、単に =A1*100+B1+500 という文字列が表示されてしまいます。 どうしたら良いでしょうか。 この症状は、既に数式が入ったセルの下に行を追加したセルで起こります。
質問させて頂きます OSはXPで、バージョンは2002、VBAはいいえ、なんで解答も否です。 検索には【関数 文字列 追加】みたいな感じで調べました。 LEFT関数で文字列をもってこれますが さらにその文字列たとえば『1234』の頭に『AAA』という文字列を 付け足して、『AAA1234』といった感じに出来る関数ってあるのでしょうか?
>>436 ="AAA"&"1234"
なんでもいいからExcelの本一冊かって読んで来い
>>438 どうもです。
ちょっと書くのが足りてなかったです。
例えば、A列に『1234』があって『AAA』を付け足して
B列に『AAA1234』としたい場合でした。
="AAA"&A1 たのむからExcelの本一冊かって読んで来てください
="AAA"&A1
442 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 22:43:26
質問です。 Microsoft Office Excel 2003を使用しています。 A2:E10に入力されてる数値の中で、A1と同じ数値が何個あるか数える場合は どの関数を使用すればよいでしょうか?
445 :
名無しさん@そうだ選挙にいこう :2008/07/01(火) 22:59:34
>>443 ,444
すみません、ありがとうございます。
446 :
435 :2008/07/01(火) 23:02:17
>>437 さんきゅう。
明日、会社のPCで試してみます。
countifかな
COUNTIFでいいんじゃね?
countifだろ?
作業列を作ってSUM
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel SUM関数 もし、よいお答えがありましたら ご回答をお願いいたします。 店舗の売場レイアウトをエクセルで作成しています。 そして、その棚一つ一つに番号を振っていきたいと考えています。 そこで質問なのですが、一つのセルに数値(例として1001)を入力 し、その隣り合うセル、または隣り合わない任意のセルに自動的に +1された数値(例の場合、1002)が入力されるように効率的にすることは できませんでしょうか。 現在、関数の挿入からSUM関数を選択、任意のセルを選択、+1と入力・・・ ということを延々とやっていましたが、どうも効率が悪いもので。 ググってみましたが、上記のような状況ですのでどう検索したらよいか 分かりませんでした。 もし、もっと効率のよい方法がありましたらご教授いただきたいと 思います。 お願いいたします。
=A1+1
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 範囲から 検索 A B C D E........ 1 title1 2 3 4 23......... 2 title2 32 16 20.......... 3 title3 22 ........ 〜 上記データに対し、指定した数値が含まれる行のA列のデータを取り出したいです。 例えば、X1に23と入力されてるとしたら、Y1にtitle1と表示されるような数式を入力したいのですが、良い方法はないでしょうか。 できれば作業列を使わず実現したいです。 直感的に =INDEX(A1:A3,MATCH(Y1,B1:E3,0),1) としたのですが、MATCHは範囲参照は受け付けないんですね。 範囲から指定した文字列を検索して位置を返すような関数があればいいんですが・・。
454 :
453 :2008/07/02(水) 01:24:57
> =INDEX(A1:A3,MATCH(Y1,B1:E3,0),1) MATCH( X1 , B1:E3, 0) ~~ でした。すみません。X1は検索したい文字列(この例では数値)です。
>>451 +1するのに何でSUM関数を使うのが分からないし、
自分の選んだセルに順々に数字を入れていきたいだけなら数式とかややこしい事を考えずに
そのまま数字を打ち込んでけばいいだけじゃないか?
何か規則性があってその規則性に基づいて自動で入力したいという事なら理解できるが、
質問の意味がいまいち不明なんで。
隣り合うとか隣り合わないという事に何か意味はあるの?
456 :
名無しさん@そうだ選挙にいこう :2008/07/02(水) 01:38:39
>>451 今打ち込んである数字に1を足したい(バラバラとあるセルに対して)なら
どこか離れたセルに1を入力
コピー
1を足したいセルを選択(離れているならctrlキーを押しながら選択)
形式を選択して貼り付け→加算
>>453 さん
451です。
そうですよね、自分もそのまま打ち込んでいけば
よいと思いました。
ただ、それだと一部売場変更(棚を一つ増やす、もしくは減らす)
をしてしまうと、全ての棚番号を入力しなおさなければ
いけなくなるかと。
数式で入力しておき、変更箇所のみのセルをいじれば
続くセルも一気に変更できるかな、と思いまして。
できれば、フォーマットとして長く使いたいと考えています。
たとえ自分がいなくなっても、他のスタッフが効率よく仕事が
できるようにしたかったもので。。。
>>456 さん
今打ち込んである数値に、と言うより続いている任意セルに
「+1」を効率よく入力していきたいと思っています。
フォーマットにしたく、これからなので要するに白紙なんです。。。
もし、何か良い案があれば、お願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 関数で返された結果だけ残して、関数の式を消すことってできますか?
>>457 A1に1001
B1に=A1+1
C1に=B1+1
じゃあ駄目なの?
ついでに補足しておくと、B1に=A1+1って入れた後B1をコピーして、C1、D1をまとめて選択してから貼り付けしてみ。
>>440 、441
どうもです。そんな感じなんですね。
それでは、さらにその『AAA1234』に『-』を付け足して
C列に『AAA1-234』みたいにするにはどんな感じでしょうか?
うぜーーーーーーーーーーーーーーーー
>>464 leftとrightで切り取って真中に"-"をつれて&でくっつける
おれがカネ出しますからExcelの本買って読んでいただけませんか
気持ち悪い
誰か453を・・・・
>469 複数hitした場合はどうしたいの?
>>469 色々な配慮は無しで
=INDEX(A1:A3,SUMPRODUCT(MAX((B1:E3=Y1)*ROW(B1:E3)-ROW(B1)+1)))
>453 1列づつ検索して並べればいい。 =INDEX(A1:A3,MATCH(X1,B1:B3,0),1)&・・・
473 :
453 :2008/07/02(水) 12:07:50
>>470 データの前提として、重複データは無いものとしています。
>>471 ありがとうございます。配列数式でできるんですね。
>>472 例ではA3までしかありませんが、実際はもっと多いので入力に際する手間とミスの怖さから、それだとちょっと・・・。
ありがとうございました。
A列に「人物名」,B列にその「ふりがな」をそれぞれ入力して。 B列の内容をA列のふりがなへ反映させる方法はありませんか? A列へ自動でふられるふりがながほとんど当たっていないもので。
>>474 Phonetics.Add
テンプレさえ使わないよなやつにはこれで充分。
476 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 00:10:58
2003で突然矢印キーの動きがおかしくなりました アクティブセルが変わるのではなく、アクティブセルがそのままにスクロールしてしまいます どうしたら元に戻るのでしょうか?
テンプレ必須ってわけじゃないんだから2行目みたいな余計な事書く必要無いだろ
>>478 即レス助かりました。ありがとうございます
>>477 言葉が足りなかったね
>★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
わざわざ煽るような書き方する必要はないんだよ。
>>481 だって煽ってんだもん
こういう場合はあとからVBAはダメとか言い出すやつが多いんだ。
スミマセン、お力お貸しください。
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル ソート 改行 リスト
ええと、以下の図↓のように、
ttp://www-2ch.net:8080/up/download/1215012603105375.JDpwi3 商品名と商品単価が2列に渡って表記されているというリストを作成しているのですが、
図の赤い矢印のように左の列の1番下と右の列の1番上が繋がっているとみなして
ソートしてくれるようなことはできるんでしょうか?
エクセルは全く不慣れなので物凄い初歩的な質問なのかもしれませんが、
ずっとできずにホトホト弱っています。
エクセル以外でも「このツールでできる」という情報など頂ければ助かります。
よろしくお願いします。
>>483 普通はその2列*n行の表を作り、ソートしてから半分を切り取るなりコピーで貼り付け
その表が随時追加or順番は保持したいというなら一旦シートごとコピーするなりしてから並び替えて切り取り貼り付け
ちと変わった方法としては・・
条件がよくわからないが、とりあえず5行ごとに改行とする。つまり6行目がC1にくるわけだな
で、9種類あるとする
A1、B1からA9、B9の範囲に入力
C1に=A6、D1に=B6
A1からD5を印刷範囲に設定
で完了
11を越えるようならE1に=A11って感じで
もしフッダーつかわずに何とか商事を入力したければ別のシートにA1からD5をリンクさせればいい
別にコピーでもいいし
ただもう一度言うけど、普通は一行目の方法を使うと思うよ
昔同じ事をやろうとしたけど挫折した。少なくともエクセルの標準機能には無い。 関数ゴテゴテに盛れば出来ないこともないけど、結果に対してやることがややこしすぎて実用的じゃない。 印刷用途オンリーであれば、一番近いのはAccessのレポートで同一ページ複数列表示。
何行目で改行するか、条件を決めるセルを決めておいて、 後は別シート作ってrowを組み合わせればすぐに解決しそうなもんだがなぁ
>>483 そのままじゃ無理。
どっか別のシートに1列に並べてソートした結果を参照するか、VBA使うしかない。
>>471 無意味なSUMPRODUCTは使っちゃいかん。
>>483 入力用のシート、閲覧・印刷用のシートを分けて
閲覧・印刷用のシートから入力用シートの各セルを単純に参照すればいいだけで
何も複雑な事じゃないと思うんだがなあ。
皆ややこしく考えすぎじゃね?
それかデータファイルはExcelで作っておいてWordで差し込み印刷でもいいんだよね。 全部をExcelの中だけで処理したいというこだわりでも無ければそれが一番楽だし、いろいろ応用も効く。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】セル 結合 10 10 上下の重複するセルのみ一度に結合させることはできますか? 20 20 20 → 30 30 30 40 40
>>475 ありがとう。第1段階は解決しました。
A列に「人物名」,B列にその「ふりがな」をそれぞれ入力
B列のふりがなにカーソルを置いた状態で以下を実行
Sub ふりがな追加()
ActiveCell.Offset(, -1).Phonetics.Delete
ActiveCell.Offset(, -1).Phonetic.Text = ActiveCell.Value
End Sub
第2段階は,入力済みの行数分,連続して処理を行う記述です。
でも今日は眠いので寝ます。
>>491 複数の結合を一気にやりたいなら、条件にかかわらずVBA使わないと無理。
たとえばA2〜A4を結合するには
Range("A2:A4").Merge
>>491 そういうセルの結合の使い方は感心しないな。
条件付き書式を使って「上の数値と違う場合だけ上罫線を引く」みたいにすれば望みの事は出来ると思うよ、たぶん。
>494 どうやるの?
OSはビスタで、エクセル2007で作ったファイルが、OSがXPのエクセル2003のパソコンで開けません。どうしたら開けるの?初心者ですみません
DQNは結合セルとか好きだからな。
すみません、自力で色々と調べたつもりではありますが、力尽きました。 お力をお貸し下さい。 【1 OSの種類 .】 WindowsXP professional 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 作業ウインドウ、非表示など 時々(例えば、ファイル→新規作成など)出てくる作業ウインドウをまったく表示させないということはできますでしょうか? ツールのオプションで起動時の非表示のみは設定できるのですが、上記の作業などをすると現れてしまいます。 あらゆる作業において作業ウインドウがまったく必要ないどころか、邪魔でしかありません。 よろしくお願いします。
501 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 10:44:27
ちょっと質問ageさせてください 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 [ユーザー定義 1だったら 2だったら] とある個人情報の表がありまして、(とある届出の)提出日という項目があるのですが 文字列の状態で3551001や3601009、4020608、4100402などずらーっと縦に並んでいます これの意味するところは、頭の数字が年号(3なら昭和、4なら平成)を表しており それ以下2ケタずつ使って年、月、日となっています (上記の4つであればそれぞれ昭和55年10月1日、昭和60年10月9日、平成2年6月8日、平成10年4月2日です) ここで、7ケタの数字だと少しわかりづらいので表示だけをカッコ内のようにしたい(02月とかはOK)のですが あとで並び替えたりすることも考えて、 また組織的なデータベースなので数字を直接変えたり(エクセル日付的な5ケタのあれとか)せずに できれば書式を変える(ユーザー定義をいじるとか)程度だけで行いたいのですが無理でしょうか 単品の3や4であれば [=3]"昭和" とかできるらしいのですが頭についたままでできないかなと・・・ そこさえクリアできればあとは 00"年"00"月"00"日" とかできるかなぁと思うのですが・・・
ユーザー書式で条件付けできるのは 正の値か、負の値か、ゼロか、文字列か、 という区分けだけなので別のセルに関数を使って表示させるしかない
>>501 無理。
他のセルに関数使って表示するのがいいんじゃない。
504 :
483 :2008/07/03(木) 10:59:27
>>484 ,485,486,487,489,490
こんなにレスを頂いてありがとうございます。
484,487,489さんのおっしゃる通りリストを2列に分けてコピペするのが簡単そうですね。目からウロコです。
早速この方法で作成してみます。
本当に助かりました。ありがとうございます。
>500 で、新規作成の場合はどうするの?
506 :
500 :2008/07/03(木) 11:15:22
ありがとうございます。 新規作成→空白のブックです。 以前のバージョンでもウインドウは出ていましたが、 作業ウインドウ(ヘルプ)のワークシートの表示エリアを巻き込んだ表示をやめさせればと思います。
507 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 11:26:25
超初心者質問で申し訳ないのですが、 行と列が数字になってしまいました。 どうすれば片方をアルファベットに直せますか?
>>502 ,503
そうですか、お返事ありがとうございました
>>507 メニューからツール>オプションと入って
全般タブの中の一番左上の
「R1C1参照形式を使用する」のチェックをはずす
>506 選ばなきゃいいんじゃね? 腐ったmyルールのカスタマイズはやめとけ。 >507 ツール→オプション→全般→R1C1参照形式を使用するのチェックをオフ
510 :
500 :2008/07/03(木) 11:46:02
>>509 できれば選びたくないのですが、何せ強制的に現れるので…
EXCEL2003の売りは作業ウインドウというキャッチフレーズも見つけてしまって、
もしかしたらそういう設定はないのかなあなんて思い始めて来ました。
慣れるしかないのかなあ…
>>508-509 ありがとうございます。
再起動しても直らなくて、一人で汗ってました。
助かりましたm(_ _)m
>>501 書式に(0)00"年"00"月"00"日"って入れれば
(3)55年10月01日
(3)60年10月09日
(4)02年06月08日
(4)10年04月02日
みたいな表示になる。元号は日本語で出ないけど、7桁の数字だけよりはよっぽど見やすいんじゃない?
どうしても日本語で出したかったら作業列を使う、VBAを使う、Excel2007を使う、のどれか。
>510 ちなみに[Ctrl]+[F1]で表示/非表示を切り替えられる。 マクロで強制的にけすことも出来るがお勧めしない。 必要だから出てくると考えるべき。
514 :
500 :2008/07/03(木) 12:09:52
【1 OSの種類 .】 WindowsXP professional ver2002 SP2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 読み取り 共有 親PCに共有ファイルを作ったつもりでしたが 自分のPCだけ単独で開いても読み取り専用になってしまいます どうやったら解除できるでしょうか? ちなみに他の人は問題なく使えてます 【1 OSの種類 】 Windows 2000 【2 Excelのバージョン .】 Excel2003
>>515 親のパソコン側で共有にしたフォルダを右クリック→共有とセキュリティ→
ネットワーク ユーザーによるファイルの変更を許可する
517 :
515 :2008/07/03(木) 13:17:25
>>516 出来ましたぁ!!
元々親PCのほうでセキュリティのユーザーでEveryone追加してからその設定をし忘れてました^^;
改めて端的に指摘して頂いたおかげです!ありがとうございました!!^^
518 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 13:20:23
うわあ・・・
>>501 =DATE(IF(LEFT(A1,1)*1=3,1926,IF(LEFT(A1,1)*1=4,1989,1))+MID(A1,2,2),MID(A1,4,2),RIGHT(A1,2))
1、2(明治と大正)はでない前提だけど
文字列でいいなら =MID("明治大正昭和平成",(LEFT(A1,1)-1)*2+1,2)&MID(A1,2,2)&"年"&MID(A1,4,2)&"月"&RIGHT(A1,2)&"日" このスレで見たmidの使い方は本当に便利だと思った よく思いつくよな
521 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 16:44:39
2003を使っています。 セルの端っこをダブルクリックすると行の一番下にとばされるのですが この機能ってオフにすることは出来ないのでしょうか?
vbaを使えば出来なくもないけどオプションでは、無い
軒並みだけどダブルクリックしなきゃいいじゃん。 カーソルが通過しただけで飛ばされるなら大変だけど。
>520 それ、二文字限定やん。 何故素直にCHOOSEを使わないの? 便利じゃなくてアホとしか思えん。
ってかCHOOSEを知らなかったんだろうね。
これで
>>520 も成長することでしょう。
生暖かく見守ってあげなよw
一文字・三文字以上の年号を使うきっかけがあるのか?
>526 逆に何故CHOOSEを使わない?
>>526 それを屁理屈と人は言う。
後の人(将来の自分を含む)のことも考えて適切な関数を使う方が良い。
それにCHOOSE知ってたら絶対に
>>520 のような数式は書かないだろ?
>>520 はただ使いたかっただけと予想
基本的に問題もないと思うんだが
>>504 >>リストを2列に分けてコピペするのが簡単そうですね。
まあそれはそれでいいんだけど、
>>484 の人が「基本」と強調してるのは「特別な知識が無くてもコピペだけで出来る」という程度の話です。
ページ数が少なくて商品の更新頻度も少ないなら手作業のコピペでも十分だろうだけど、そうでないなら他のやり方が有利です。
参考までに。
>530 >基本的に問題もないと思うんだが 人に紹介するのはどうかと思う・・・
こうですね! =CHOOSE(LEFT(A1),"明治","大正","昭和","平成","正化")&TEXT(RIGHT(A1,6),"00年00月00日") でも、いつのまに作業列を使っていいことになったんだ?
>>521 [ツール][オプション][編集]
↓
[ドラッグアンドドロップ編集を行う]チェックボックスをOFF
ってことではないの?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 一応 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 B1の値をA2に、A3の値をC1に といった感じでワークシートの行と列を交換したいです 簡単な方法ありませんか
>536 形式を選択して貼り付け→行列を入れ替える
【1 OSの種類 .】 Windows 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 否 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 同一の項目の場合だけ数値の合計を返すことってできますか? 商品A 10個 10個 商品B 5個 商品B 10個 15個 商品C 10個 → 商品C 10個 商品C 5個 25個 商品D 20個 20個
542 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 20:49:06
【1 OSの種類 .】 Windows ME 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 いきなりExcelの既存ファイルが開けなくなってしまいました。 新規で使う場合は普通に使えます。 なのに保存ファイルを開こうとするとエラーが出てしまい、今までのすべての既存ファイルが 開けません。仕事で使う為の大切なデータもあるだけになんとかしたいのですが・・・。 どなたか理由または解決方法がわかる方いますか? ヨロシクお願いします。 OSが古くてすいません。
>>540 C列に数式のみでそのようにしたければ、かなり無駄な計算式になってしまう
1行目が見出しだと、C2の式は=IF(A2<>A3,SUM($B$2:B2)-SUM($C$1:C1),"")でできるが、計算ロジックに無駄があり不合格。
=IF(A2<>A1,B2,B2+C1)として、条件付き書式で 数式が =A2=A3 フォント白 とした方が良い。
スタイルを変えてよければもちろんピボットテーブル。
>>542 エラーメッセージを「そのまま」書き写してください。(勝手に省略したり、英語を日本語に翻訳したりしないこと)
長い数字やアルファベット、記号なども重要な手がかかりですから、間違いのないよう。
545 :
543 :2008/07/03(木) 21:01:33
COUNTIF使っても簡単だが、同じく不合格。
546 :
543 :2008/07/03(木) 21:07:27
COUNTIFじゃなくてSUMIFか。
>>534 作業列使わないと無理だから出してみたんじゃない?
質問者が欲しがってるようには見えなかったけど、でもこれしか解決方法無いんだけど
折角なんで
>>540 データ→集計→個数
後は左の+と-をいじれば目的のものが手に入る
ってすぐ上にも同じような質問があったな
549 :
540 :2008/07/03(木) 21:10:11
3個以上同一項目があるとうまくいきません。 商品A 10個 10個 商品B 5個 15個 商品B 10個 商品C 10個 → 20個 商品C 10個 15個 ← 商品C 5個 5個 商品D 20個 20個
>>540 A B C
1 品名 個数 合計
2 商品A 10 10
3 商品B . 5 . 5
4 商品B 10 15
5 商品C 10 10
6 商品C 10 20
7 商品C . 5 25
8 商品D 20 20
C2セルに =IF(A1=A2,C1,0)+B2 という式を入れ、条件付き書式で「数式が」「=A2=A3」「文字を白」に設定してから
フィルハンドルをダブルクリック
551 :
542 :2008/07/03(木) 21:29:07
EXCELエラーが発生しました。 そのまま作業を続ける場合は無視を・・・ GDIEXEにエラーが発生しました。 みたいな感じみたいです。(途中わからず) 実は自分ではなくて友達が悩んでいたもので詳しい状況まではわからず。 とりあえず一回アンインストしてからもう一回インストールしてみるそうです。 ちなみに別のPCにデータをうつしてみたら既存ファイルが開けたようなので緊急ではなくなりました。 ご迷惑おかけしましたm(__)m
553 :
540 :2008/07/03(木) 21:32:17
>550 できました。ありがとうございました。
>>551 GDIエラーはWindows自体の問題。ハード的な故障の可能性もある。
Excelは関係ないので、Windows板かハード板か該当機種の板へ移動推奨。
555 :
542 :2008/07/03(木) 21:36:36
>>554 ありがとうございます。
そうしてみます。
読みやすさか親切さの違いじゃない? 知識自慢しつつ選択肢をいろいろ提示するのもいいけど、今回は そのものズバリの回答だけを書いた方がよかったってこった。
30分後に同じ回答したってしょうがねーだろ?
俺は =IF(A2<>A3,SUM($B$2:B2)-SUM($C$1:C1),"") みたいなロジックの方が好きだな。 条件付き書式で、存在するデータを「見えなく」するのって、なんか気持ち悪い。
見えないデータに気付かずに項目(列)と式を追加したような場合、計算ミスにつながると思う
独りで勝手に合格とか不合格とか忙しい奴がいるなあw 俺も条件付き書式でフォントを白にするとかはあくまでも最後の手段にしたいな。
あれ…項目ごとに集計する質問ってつい最近どこかで見たような… 気のせいかな…
条件付き書式がいやなら作業列ひとつ作ればいいだけの話。
>>543 の最初の式なんか論外。
やはりなぜ論外かは書けない
>>543 に書いてあるな。
DQNはどこが無駄かわからないんだろ。
表が無駄に大きくなるし、計算の過程は見せたくない。 作業列を使うぐらいならVBAを使って一気に答えを求める方を選ぶ。 作業列の幅を0にするのも却下。文字を白くするのと同じで、 見えない部分があるとミスにつながる。
とかくDQNは作業列をきらうね。 結合セルは大好きなやつが多いがw
568 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 22:36:27
啓蒙厨は極論が大好きだけどな
ヴァカが多すぎるからどうしても啓蒙する羽目になってしまうんじゃね?
そもそも啓蒙になってない 理由も説明せずに自己完結して煽ってるだけ
571 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 22:51:15
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】初心者 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 保存不可 会社で文書を作成し、社員で共有するのですが、 編集、印刷は可能でも、保存は不可の状態にしたく思います。 そのような処理は出来るのでしょうか? 出来るとしたならばどのように処理するのでしょうか。 文書自体はEXCELで作成しています。
理由を書かないと分らないほど低レベルってことか
excelやめて田舎に帰った方がいいなw
何にしても質問者は
>>550 の数式と条件付き書式で解決したっていってるよ。
VBA使えても作業列の方が早いなら作業列使うけど
さすがに入力行と入力行の間に非表示で作業列、とかはあぶなっかしいのでやらないけど
>>571 右クリックでセキュリティor共有、後は権限だかを読み取りのみにすればok
理由を書いて返論されるのが怖いでけだろ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いえ 【4 VBAでの回答の可否】 不可 2 2 3 5 1 6 3 9 とB列に累計を出すにはどうしたらいいですか?
なんでもいいからExcelの(ry
>>575 1列目は=A1
2列目は=A2+B1
以下コピペ
578 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 23:03:50
>571 CD−Rに焼いて各人(のパソコンの光学ドライブ)に配布したら?
579 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 23:07:08
>>574 ビンゴ
あいつら自分が中途半端だって事は気づいてるんだよw
でも啓蒙したいという悲しい生き物
一流は学びたがり、二流は教えたがるを地で言ってるゴミ屑だなw
中途半端な事はうすうす気づいてるくせに、二流な事を認められないんだよwww
580 :
571 :2008/07/03(木) 23:10:01
>573 ありがとうございます。 読み取り専用で開いた際に編集→印刷は可能で保存の際に 既存Bookに保存では無く新規Bookで保存されると認識しておりますが 間違いないでしょうか?
と三流がいいましたマル
>>580 はいそうです
ちなみに読み取れされてもコピーはされたくない、ってーのは無理よ
VBA可なら自分自身のフォルダを調べて、既定の場所になかったらすぐ閉じる、 みたいな処理をWorkbook_Openに書くとか。 それだけじゃ不親切だから、一応閉じる前に「コピーはできません」とメッセージを出して。
>>566 外野からすみませんが、VBAならどのようになるのでしょうか?
585 :
571 :2008/07/03(木) 23:25:43
>582 重ね重ねありがとうございます。 もちろんコピーはされても仕方ないとは思いますが、 原本を移動されたり、上書きされるのが嫌らしいので・・・。 (コピーして使ってねと言っても聞いてくれない人が多い) >583 これは私へのレスで良いのでしょうか・・・? 別のお方へでしょうか?
>>584 Sub Macro1()
Dim i As Long
Dim GYO As Long
Dim goukei As Long
GYO = Range("A65536").End(xlUp).Row
For i = 2 To GYO
If Range("a" & i).Value = Range("a" & i + 1).Value Then
goukei = goukei + Range("b" & i).Value
Else
goukei = goukei + Range("b" & i).Value
Range("c" & i).Value = goukei
goukei = 0
End If
Next
End Sub
汚いコードだと言う事はわかっている
だが・・・これでも使えるんだ・・・
後はオートフィルタでもかませばok
588 :
名無しさん@そうだ選挙にいこう :2008/07/03(木) 23:55:00
2003を使っています。 一つのExcelファイルの中に複数のグラフが入っているのですが これらのグラフの縦軸横軸の名前や軸の書式などを一括して変えることって可能なのでしょうか?
>>584 Sub B列の小計をC列に()
R = 2
V = Cells(R, 1)
While V <> ""
Cells(R, 3) = ""
If V <> Cells(R - 1, 1) Then C = 0
C = C + Cells(R, 2)
If V <> Cells(R + 1, 1) Then Cells(R, 3) = C
R = R + 1
V = Cells(R, 1)
Wend
End Sub
For EachやXlUpを使わないのは、文章や別の表などが同一シート内に並んでいた場合を考慮して。
591 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 00:16:20
質問テンプレ使おうぜ
593 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 00:32:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 一つのExcelファイルの中に複数のグラフが入っているのですが これらのグラフの縦軸横軸の名前や軸の書式などを一括して変えることって可能なのでしょうか? 何卒よろしくお願い致します。
>>593 一つ質問
グラフは複数シートにある?同じシート内?
>>593 例えばこんな感じ。すべてのグラフの軸ラベルを全部赤にする。
Sub sample1()
For Each G In ActiveSheet.ChartObjects 'すべてのグラフを処理する
G.Chart.Axes(xlValue).TickLabels.Font.ColorIndex = 3 '横軸の文字色を赤に
G.Chart.Axes(xlCategory).TickLabels.Font.ColorIndex = 3 '縦軸の文字色を赤に
Next
End Sub
597 :
584 :2008/07/04(金) 06:35:23
>>577 ここのレベルじゃ=SUM(A$1:A1)って回答もあるかと思ったが、そこまでアフォはいなかったかw
アフォはお前ですね
>>598 お前ずっとその形にこだわってるな?
何かトラウマでもあるの?
なんか悪い方法を悪いと認識できないやつがいるな だからいつまでたっても三流なんだよ
まあ出来りゃいい、サンプルとして提示するだけなら適当でよかろ。 お前は皆から優良サンプルとして崇め奉られたくてこのスレにいるのか?w
一流の人は言う事が違うよねー
604 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 07:39:39
低脳どもを啓蒙したいだけだろ? パソコンが高性能になってくるとヴァカが増えるのは必然なんだからあきらめろ。
>>604 意味がわからん。
何を持って高性能と区切りをつけてるのかもな。
敷居が低くなったからっていうのならwindowsあたりからだろうが
むしろいうのであれば敷居が低くなると、
「知ったか程度でちょっと上流気取った馬鹿が増える」て言った方が正しいと思う。
お前も煽ってるやつもその口だろうなw
このスレにゃ一流なんていねーよ。 二流と三流ばっか
「知ったか程度でちょっと上流気取った馬鹿が増える」 ???
おはよう
ここで煽ってるやつの言ってることって基本中の基本じゃん こんなの知らないやつが馬鹿すぎ
>>607 とっつきにくい分野では知ったかは少ない。
Excelあたりの相談スレに常駐して他人煽ってるようなやつの
正体なんぞ知れたもの。
なにか癇に障ったか?
今までより簡単になるならそれでいいのにな 何と戦ってるんだろうな啓蒙してる人は?
>>609 脱初心者の知ったか君ほど、初心者=昨日までの自分を否定したがるという法則。
昔は掲示板でえらそうに説明すれば総スカンくらったのだが
お前みたいなのが人口増えすぎて誰も構わなくなっただけ。
613 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 08:35:14
すみません、エクセル初心者でこのスレ見ながら勉強してる者なんですが
前スレあたりから「論外」とか「全然だめ」とか言う指摘が何度も出てきていますが、
一度も具体的な説明が無いように思えます。
初心者でも分かるようにもう少し具体的に説明していただけないでしょうか?
例えば
>>543 で=IF(A2<>A3,SUM($B$2:B2)-SUM($C$1:C1),"")が「不合格」な理由は何なんでしょう?
前スレとこのスレを「論外」と「全然だめ」で検索してみたが 「論外」が1回ずつで「全然だめ」はヒットしなかった 「何度も」というほど出てきてはいないようだが…
615 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 08:56:47
だめだこのスレw
>>613 式の最適化がなされていない・・
ということは計算量が多いという事。
それはpcにかかる負荷を増大させ、結果放出される熱量が増大し、
つまりは地球の温暖化、ひいては人類の絶滅に繋がる
excelの環境破壊から人類を守るために啓蒙先生は戦ってるんだよ!!
617 :
453 :2008/07/04(金) 10:54:30
>>488 > よけいなSUMPRODUCT
とありますが、SUMPRODUCTを外してCtrl*Shift+Enterでおkですか?
そもそもこのSUMPRODUCTはどんな働きをしているのでしょうか。
618 :
501 :2008/07/04(金) 10:54:53
ええと無理と言われたのでそれからしばらく見てなかったのですが 当方が作業列を使いたくなかった理由は ・会社のデータベースのデータなので新しい列を使いたくなかった ・同様にデータ数値そのものも弄りたくなかった ・上司が古い人間でコンピュータに弱く作業列のせいでなにかやらかしそう という理由からでした 入力規則のリストを同じシートに作ろうものなら 平気でそこを含む行・列を削除してくれますので・・・ と言いつつも俺も作業列を使うとしても きっと上のほうで言われていたMIDよりもさらに無駄な式を使いそうですけどね SUBSTITUTEとか・・・w 何はともあれ皆様お相手ありがとうございました
>>617 ,453
関数名が分かってんだから自分で調べろや
620 :
501 :2008/07/04(金) 12:54:57
最後に一言。 「おまえら大したことないね」
621 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 12:58:34
だからお前は病院行け
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 値を範囲内に < > 最大値以内 範囲 収める etc 文字列を [h] mm ss.0 にして角度の計算を行っていますが 365度42分44秒を 5度42分44秒に変換するなど 値を0=<X=<360に収めたいです。
>>624 別に正の値か、負の値か、ゼロか、文字列かだけじゃないだろ?
[ ]の中に二つまで条件を入れられる。
>>623 は不親切か?
=MOD(角度,"360:00:00")なんてやるんだよ。
windowsxp、エクセル2003、vba不可で質問です シート見出しの名前をキーボードだけで変更することは出来ますか? アクティブシートの変更はページダウン/アップ+Ctrlキーを使えば変更できることは分かったのですが・・・・
>>626 は丁度360度のとき0度となるな。
0=<X<360ならいいんだけどね。
以上って=>じゃなく>=だったか?
631 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 16:27:43
方向キーでセルが移動できなくなってしまいました。シート全体が 該当方向に移動してしまってカレントセルが移動しないです。 オプションをみてもどこを触ればいいかわからず、 すみませんがどなたか直し方教えてください。
633 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 16:35:20
>>632 どうもです!
あーそうだったんですね。それを解除してから
Excel再度起動して直ったことを確認できました。
大変ありがとうございました!!
なんでわざわざExcel再起動すんの? Scroll Lock押してカーソル動かせば確認できるだろ?何なの?馬鹿なの?死ぬの?
636 :
622 :2008/07/04(金) 17:06:38
無事解決しました 360=0度でも大丈夫だったんでMOD関数を使いました ありがとうございます
莫大な量の測定データを収縮するために、3つごとに平均を取りたいのですがどうすればできるでしょうか? A1〜A3までの平均を取って、次はA4〜A6までの平均を取りたいというわけです。
すみません。単純な質問かもしれませが、0001をセル内に表示するにはどうしたらいいでしょうか? エクセル2003使用の初心者です。
>>638 表示したいセルを右クリックして[セルの書式設定]→[表示形式]タブの"ユーザー定義"で
種類(T)の下のテキストボックスに0000を入力すると幸せになれるが貴様に教える事は
何もない。さっさと立ち去れ!
>>638 '0001
って入力すると幸せになれるだろうけどもう来なくていいよ
>>637 C2に
=IF(MOD(COLUMN(),3)=0,AVERAGE(A1:C1),"")
後は右にオートフィル
》638》6393さん ありがとうございます。幸せになりました! 最後にセルを結合した後にセル内に縦文字を表示する仕方を教えてもらえませんか? エクセル200使用です。
>>638 0001を表示したいセルに0001を1000回入力する。
とても面倒なので初心者にはおすすめしない。
647 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 20:55:14
>>645 私にはとても無理です....
結合した後にセル内に縦文字を表示する仕方を
教えていただいたら光栄です。
よろしくお願いします。
=TATEGAKI(A1)
>>647 右クリック→書式設定→配置、方向で縦餓鬼の「文字列」をくりっくだよカス
なにこの流れ(;´Д`A ```
654 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 21:49:39
啓蒙できないストレスがたまってるんだな かわいそうに
655 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 21:54:40
たぶん始めは、ついでに教えるくらいの「余分なもの」だったはずなのにな 今では啓蒙しないとイラついて気になってしょうがない、「無くてはならない物」になってんだな しかもヤク中といっしょでどんどん刺激が強くないと満足できなくなってる。末期だ おかげで無意味な罵倒になりすまし、しまいにゃ叩かれるのが怖くて偉いのを仄めかすだけとか。病院行けよマジで
それってつまり典型的なにちゃんねら
なんかほんと病人がいるな。 末期か? 本人は叩いてるつもりだろうが馬鹿にされてるのわからんのかな?
658 :
名無しさん@そうだ選挙にいこう :2008/07/04(金) 22:56:52
winxp excel2003 ハイパーリンクの質問です 例えばsheet1のA1にリンクを作って sheet2のG10に飛ぶようにします。 その結果、sheet2が開いてG10のところが選択された状態になってますが そうではなく、G10が左上になった状態で開くように出来ますか? 常にA1が左上になったままG10が選択されますよね。 いろいろリンクを貼って、そのつどそのリンク先が左上に表示されるようにしたいのです
病気だろうけど診断行かない限り普通の人として通るんだろうね サイコパス怖い
651=655か?
>>639 教えてんじゃねーか
ってレスを期待したのになんだこの流れ
ネタさえも逆手に取られるこんな世の中じゃポイズン
つまらん とにかく病人多杉 病院行けと言ってるやつも病人なんだからもうgdgd
次の方どうぞ
セルの結合をしたときに例えばA1とA2それぞれ文字が入ってるときに結合した後にA1とA2の文字をつなげられる方法はありますか?
印刷用ページとして分けてるなら別にアリとも思うが
そうですか・・ありがとうございました 良い機械なのでVBAも勉強してみます
見栄えのためにやたらとセル結合する奴がいるけど そのせいでコピーやメンテがとても面倒になる おれの知ってるのはデータの活用という概念が全く無いやつだった
俺が知っているのはバーの片隅にいる奴だった。 いつも同じ席について笑ってた。 悲しそうに笑ってた。
677 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 13:18:34
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】Excel2000 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】縦書き セルの書式設定で 配置→方向で文字列を縦にしたのですが 数字の部分だけ横に並べたいのですが可能でしょうか? 例) 新宿100−100だと ↓理想 新 宿 10 | 100 ↓現実 新 宿 1 0 | 1 0 0
678 :
677 :2008/07/05(土) 13:20:04
すいません ×例) 新宿100-100 ○例) 新宿10-100
無理だから横書きのままセル内改行(Alt+Enter)で頑張れ
VBA不可って奴はエクセル関数で何とかなると思ってんのかよ 月給:100万以上 内容:エッチなサービス不可 休日:月の半分くらい 備考:加齢による解雇なし。 罰則:公務員に準じる ↑のような求人ないですか? って聞かれてる気分だぜ
681 :
677 :2008/07/05(土) 14:46:55
誰もがExcelの全機能を把握してるわけじゃないから。 できるかできないかがまずわからない。膨大なメニューのどこかに隠れてるかも知れない。 そう考えても不思議じゃない。 Excel使うだけが仕事じゃないのよ。
VBA不可という条件は無理の無い話だと思うよ。 たかが文字を縦書きするのにプログラム組まなきゃならないなんて普通思わないよ。 VBAならできるぞ!っていう発想は不健全。
でもココで聞いてみると初めて分かる機能とかもあるわけで・・ 特に機能、というより機能の一部を上手く組み合わせれば簡単にじつげん可能な機能とかもあるわけで・・
そのために相談所があるんでしょ。 どんな質問も「ぐぐれ」で終わってたら意味がない。
病気の人は自分の知ってる事は相手も全部知ってないと苛立ってしまうんだよ。仕方ない。
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 比較 関数 VBA A列とB列にソート済みのデータ(数字または文字列)があります。 同一の行のデータを比較します。 比較の結果、 1.データが同じならば、trueを表示。 2.データが一致しなければ、挿入を行い空白セルにします。 ※C列にTRUEまたはFALSEで結果を表示。 これまで比較方法は"=A列=B列"をC列のセルに入力し、 オートフィルで同一関数をコピーしていましたが、 比較データが膨大なため、自動化を検討しています。 VBAでの回答希望です。
688 :
687 :2008/07/05(土) 16:19:29
以下、《比較前》と《比較後》です。 ※△は空白です。 《比較前》 A列B列 12 23 3X YZ 54 △5 《比較後》 A列B列C列 1△FALSE 22TRUE 33TRUE △XFALSE △ZFALSE Y△FALSE △4FALSE 55TRUE
>>687 オートフィルで同一関数をコピーすれば、比較データが膨大だろうと
一手間で出来ると思うんだが。
趣旨がよく分からない。
具体的にどこが面倒?
>>689 空白の挿入を手作業でやってるんでしょ。
>>687 ちょっと気になるのは、ソート済みのデータが
1 2 3 X Y Z 4 5
という順番で並んでること。どうして
1 2 3 4 5 X Y Z
じゃないの?
法則がわからないと、プログラムを作るのは無理。
>687 >688のサンプルを念のため書き直しておくれ。 半角スペースを使っちゃダメよ。 あと2の挿入はA/Bどっちの列に挿入するの?
「挿入を行い空白セルにします。 」の意味がよく分からないな。
>>688 見ても規則性があるようで無いようでよく分からん・・・
つーかさ、A列とB列両方に存在しているデータを探したいんでしょ? 両列ソートして空白挿入だの言うから面倒になるが MATCHやCOUNTIFで検索すれば良いだけなんじゃないの? =NOT(ISERROR(MATCH(A1,B:B,FALSE))) =COUNTIF(B:B,A1)>=1 A列とB列両方に存在しているデータを探したいのでは無いなら話は別だが
つまりこういうことだね。元のデータがこうだとして A B 1 1 2 2 2 3 3 3 5 4 6 空白をB1に挿入して、B1以下を1つ下げる A B 1 1 2 2 2 3 3 3 4 6 5 次に、A4に空白を挿入して、A4以下を1行下げる A B 1 1 2 2 2 3 3 3 4 . 5 5 6 こうやって、A列とB列に同じ物がある場合は並ぶようにしたいってことでしょ。
695 :
687 :2008/07/05(土) 18:04:27
説明が下手で申し訳ありません。
>>689 A列とB列の比較を行い、手作業で空白(挿入)を入れています。
挿入の作業をマクロにしたいです。
>>691 挿入は同一行に同一データがないために
隣の列(セル)を空白しています。
<<比較前>>
A列 B列
1/etc /etc
2/tmp /dev
3/var /bin
4/home /home
<<比較後>>
A列 B列
1/etc /etc
2/tmp
3 /dev
4/var
5 /bin
6/home /home
696 :
687 :2008/07/05(土) 18:05:13
>>693 両方に存在しているファイルを探すのではなく、
比較?(チェック)を行い、差異のチェックを行います。
チェックの結果、TRUEかFALSEを返しています。
>>694 説明で合っています。
同一構成で作成したサーバ2機のUnixのファイル(ディレクトリ)を
比較する作業でexcelを使用し、手作業で行っていました。
ですので、以前の例のように数字ではありません(例えで使用しました)。
作業の流れは
1.データをソートする
↓
2.比較する
※方法は問いません。
↓
3.比較の結果、
差異(ファイルが存在しない)する部分を空白セルにする
↓
4.わかりやすく色をつける。
※FALSEの部分や空白セルに対して
主に3の部分で時間が掛かっています。
ここをどうにかしたいです。
>>687 ほい
Sub aaa()
R = 1
While (Cells(R, 1) <> "") And (Cells(R, 2) <> "")
If Cells(R, 1) > Cells(R, 2) Then
Cells(R, 1).Insert
Else
If Cells(R, 2) > Cells(R, 1) Then Cells(R, 2).Insert
End If
R = R + 1
Wend
End Sub
>>696 元がUNIXなんだったら
diffとかuniqとか使え〜
っていうのはこのスレ的にNG?
Windowsならwindiffとかな。
>>698 「差分だけ」じゃなくて、「差分もわかる一覧」が欲しいんでしょ
まあsed使えって話はあるが
またダメ質問者か
UNIX系ならsortしておいてsdiffすれば近いものがテキストで得られるね 余計な記号が入るけど
>>695 何度も言うけど、<<比較前>>がソートされてるように見えないんだけど…
それじゃ希望の処理を自動でやるのは不可能だよ。
根本的に何もわかってないんだな。なんでこんな素人がUNIXなんか使ってるんだろう…
>>702 いや、ソートはもう関係ないと思うんだがどうよ?
704 :
687 :2008/07/05(土) 18:52:46
もうスキル不足でショックです。 まあ、sedとかdiff使えって話なんですが、 テキストもらって、それをexcelで加工していたので この作業してました。
でも一応 > 作業の流れは > 1.データをソートする って書いてるし。 気持ちだけが先走ってんのかな 単純な大小比較では無理だから、リスト全体をスキャンして、 同じ物があるかどうか1つずつ調べていけばいいんだろうけど。
708 :
707 :2008/07/05(土) 20:49:56
>>706 kabuのデータ処理だろから、行で書いてやらないとこいつにはわからないし、
試しも出来ないだろうwww
709 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 21:27:30
2003を使っています。 下付き上付きの文字ってExcelで入力することは出来ないのですか?
できますよ
書式設定の配置
712 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 22:27:44
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 軸の書式設定で「下端/左端」を選ぶと目盛りの値が外枠に表示されますが、 目盛り自体や補助目盛りも一緒に外枠に表示する方法はないのでしょうか?
713 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 22:36:43
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 時刻 計算 変換 日付 / 出勤時刻 / 退勤時刻 / 勤務時間 / 時給 / 給料 バイトの給料を記録するためにこういう表を作ってるんですが、うまく「給料」に数値を出力してくれなくて困っています 具体的に言うと、 日付 / 出勤時刻 / 退勤時刻 / 勤務時間 / 時給 / 給料 7/5 / 9:00 / 19:15 / 10:15 / \800 / \342 (← こういう風に出力されてしまいます) たぶん、「勤務時間」のセルの書式設定を「時刻」から「標準」に変えると「0.427083333」となるので、 800*0.427083333をしてしまってるのが原因だと思うんですが、 私のやってほしい式は 10.25 * 800 = \8,200 (←15分=0.25時間という計算です) なのです・・・ どうやれば上記のような式を実行してくれるでしょうか? よろしくお願いします
714 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 22:42:13
軸の書式の変更をマクロに保存しようとしたら下記のようなエラーが出てきたのですが なぜなのでしょうか? オブジェクト変数またはwithブロック変数が設定されていません。 デバッグをコピぺするとこんな感じになります。 Sub Macro1() ' Selection.TickLabels.NumberFormatLocal = "0_ " ActiveChart.PlotArea.Select With ActiveChart .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _ "Potential (V vs. Au/AuOx)" .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Current (μA)" End With ActiveChart.Deselect End Sub Sub Macro2() '' Macro2 Macro '' Selection.TickLabels.NumberFormatLocal = "0_ " End Sub 何が問題なのでしょうか?
>>713 24をかければいい
=D1*E1*24
>>709 どんな文字を上/下付にしたいかによるが、数字なら「挿入」「記号と特殊文字」「上付き/下付きの文字」
>>687 データの数がそんなに多くなければピボットと関数で出来るけど。
>>714 「保存しようとしたら」じゃなくて、実行しようとしたら、じゃないの?
グラフエリアを1回クリックして選択状態にしてから実行した?
719 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 23:18:08
>>715 レスありがとうございます
お風呂行ってました
やってみますね
>>717 私もピボ厨なんだがこの問題は苦労している。
どうやればいいのか教えて。
完全外部結合を実現するためにこんな方法を考えてみた。
A1から順番に
dir1 dir2 left right
/etc /etc
/tmp /dev
/var /home
/home /bin
と入力しておく。
leftの下に
=INDEX(A:B,MATCH(A2,B:B,0),2)
と入力してオートフィル。
rightの下に
=INDEX(A:B,MATCH(B2,A:A,0),1)
と入力してオートフィル。
するとこんなデータになる。
dir1 dir2 left right
/etc /etc /etc /etc
/tmp /dev #N/A #N/A
/var /home #N/A /home
/home /bin /home #N/A
721 :
720 :2008/07/05(土) 23:28:00
続き このデータからdir1とleftをどこか好きな場所にコピペ(値貼り付けで) dir result /etc /etc /tmp #N/A /var #N/A /home /home そしてその下にさらにdir2とrightをコピペ(値貼り付けで) dir result /etc /etc /tmp #N/A /var #N/A /home /home /etc /etc /dev #N/A /home /home /bin #N/A このデータからフィルタで重複を取り除くと dir result /etc /etc /tmp #N/A /var #N/A /home /home /dev #N/A /bin #N/A となって完成。
722 :
名無しさん@そうだ選挙にいこう :2008/07/05(土) 23:31:00
セル内の書式(標準字体と太字が混在)を維持したまま、 特定の文字(●)だけを全部消去したいのだけど、 どうすればいいでしょうか。VBA使ってもOKです。 Excel2003, XPです。
Columns("A:A").Sort Key1:=Range("A1") Columns("B:B").Sort Key1:=Range("B1") これで各列がソートされるから、元データがソートされてなくても大丈夫
725 :
722 :2008/07/05(土) 23:40:49
>>724 それだと書式情報が消えて、関係ない太字の所まで全部標準字体になってしまうのです。
>>725 別の場所にコピーしてから置換、
元の表からコピーして形式貼り付けで書式のみ、でいけると思う
>>726 俺もそれは考えたけど、試してみたらだめだった。
VBAで意外と面倒なコードを書く必要がありそう。
同一セル内でフォント変えてるやつはクソ
フォントは変えてないっぽいけど
>>725 Excelだと難しいから、WordがあればいったんWordに貼り付けて、Wordで置き換えてから
Excelに戻すのが楽なんじゃないかな?
731 :
722 :2008/07/06(日) 00:30:25
>>730 な、なるほど。できました。ありがとうございます。
>>687 >>720 <<比較前>>
A列 B列
1/etc /etc
2/tmp /dev
3/var /bin
4/home /home
B列をA列の下に持ってくる。これをシートコピーして二つ作る。
A列 B列 C列
1 /etc
2 /tmp
3 /var
4 /home
5 /etc
6 /dev
7 /bin
8 /home
一つの表をピボット、データは個数(シート名ピボット) A列 B列 1 /etc 2 2 /tmp 1 3 /dev 1 4 /var 1 5 /bin 1 6 /home 2 もう一つの表の別の列に連番とA列B列の区別の為に下のように記入 A列 B列 C列 1 1 A /etc 2 2 A /tmp 3 3 A /var 4 4 A /home 5 1 B /etc 6 2 B /dev 7 3 B /bin 8 4 B /home
A列B列でソート A列 B列 C列 D列 E列 1 1 A /etc 2 1 B /etc 3 2 A /tmp 4 2 B /dev 5 3 A /var 6 3 B /bin 7 4 A /home 8 4 B /home C列の重複データ削除 A列 B列 C列 D列 1 1 A /etc 2 2 A /tmp 3 2 B /dev 4 3 A /var 5 3 B /bin 6 4 A /home D列にVLOOKUP(C1,ピボット!$A$1:$B$6,2,FALSE) 1 A列 B列 C列 D列 E列 F列 2 1 A /etc 2 3 2 A /tmp 1 4 2 B /dev 1 5 3 A /var 1 6 3 B /bin 1 7 4 A /home 2 E列に=IF(D2=2,C2,IF(A2=A1,"",C2)) F列に=IF(D2=2,C2,IF(A2=A1,C2,""))
735 :
名無しさん@そうだ選挙にいこう :2008/07/06(日) 09:21:45
2003を使っています。 A1に数値が入っていたとして 他のセルの数式でA1を使うとA1をどこかに移動したとしても そのセルの数式も一緒に更新されます。 これを更新されないようにして移動させたいのですが どうすれば良いのでしょうか?
移動ではなくコピーと削除を使うか 数式側でINDIRECT("A1")を使うか
737 :
712 :2008/07/06(日) 10:02:37
何卒よろしくお願い致します。
738 :
名無しさん@そうだ選挙にいこう :2008/07/06(日) 10:05:20
>>736 コピーしてから削除するとクリップボードにコピーされた内容は破棄されてしまいます。
一度別のところに貼り付けると数式のリンクもそこにとばされてしまいます。
>738 この場合のコピーとはペーストまで含んでいる。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】Excel 入力規則 他人の作ったエクセルの改修をしていますが 目に見えない、見えにくい項目に苦労しています。 そこでVBAで探索したいのですが、A1:Z100を検索する例では dim ix as long,iy as long dim sRange as string for ix=1 to 26 for iy=1 to 100 sRange=chr(ix+64) & iy if ?????????? then debug.print sRange & "入力規則" end if next next --------------------------- ???????の部分を Worksheets(2).Range(sRange).Validation <> "" とか Worksheets(2).Range(sRange).Validation.Type = xlValidateList Worksheets(2).Range(sRange).FormatConditions(1).Type > 0 で実行すると 「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーに なるのですが、どうすればいいのでしょうか。
dim ix as long,iy as long dim sRange as string Dim t As Long for ix=1 to 26 for iy=1 to 100 sRange=chr(ix+64) & iy On Error Resume Next t = Worksheets(2).Range(sRange).Validation.Type If Err.Number = 0 Then Debug.Print sRange & "入力規則" On Error GoTo 0 next next とか
>>741 なるほど、エラートラップを入れないといけないんですね、
それを参考に煮詰めていきます。
ありがとうございました。
743 :
720 :2008/07/06(日) 13:09:13
>>734 おー。できてる。すごい。
原理的には左外部結合と右外部結合のユニオンとるのといっしょだね。
744 :
712-737 :2008/07/06(日) 13:10:12
やっぱり簡単にすることは出来ないのでしょうか?
745 :
720 :2008/07/06(日) 13:15:48
自分の読み返してたら間違いに気付いた。自己満足のために訂正します。
>>721 続き
このデータからdir1とleftをフィールド名をdir1,dir2として、どこか好きな場所にコピペ(値貼り付けで)
dir1 dir2
/etc /etc
/tmp #N/A
/var #N/A
/home /home
そしてその下にさらにdir2とrightをフィールド名をdir2,dir1としてコピペ(値貼り付けで)
dir1 dir2
/etc /etc
/tmp #N/A
/var #N/A
/home /home
/etc /etc
#N/A /dev
/home /home
#N/A /bin
このデータからフィルタで重複を取り除くと
dir result
/etc /etc
/tmp #N/A
/var #N/A
/home /home
#N/A /dev
#N/A /bin
となって完成。
746 :
521 :2008/07/06(日) 13:34:19
>>535 その方法を使うとオートフィルまでオフになってしまうのですが
どうにかならないのでしょうか?
>>746 ダブルクリックをやめたらどう?
F2キーを押すとかで代用。
748 :
名無しさん@そうだ選挙にいこう :2008/07/06(日) 15:13:48
OriginProだとグラフをガウス関数やローレンツ関数にフィッティングすることが出来るそうなのですが Excelでは無理なのでしょうか?
うん。無理。
あるアプリが吐き出すログ(CSV方式)を見やすくするマクロを組んだbookを作りました。 このログのアイコンをクリックすると、自動的にこのbookが起動する様に出来るんでしょうか? (この場合、bookのマクロはAuto_Open記述だと思いますが・・)
出来る でもAuto_Openに記述するのは別として、そのログファイルをクリックで 任意のアプリを立ち上げるのはExcelではなくWindowsの設定なのでスレ違い それとExcelの質問じゃないついでに少し脱線するが プレーンテキスト(CSVはカンマ区切りのプレーンテキスト)の整形程度なら わざわざExcel立ち上げないでスクリプト使った方がいいでしょ PerlでもRubyでもSedでもいいが、VBA使えるならWSHのVBSが取っつきやすいだろう
752 :
名無しさん@そうだ選挙にいこう :2008/07/06(日) 16:08:32
XPを使っています。 グラフ上でのテキストボックスの挿入の仕方を教えて下さい。
グラフにテキストボックスを重ねるだけ
>>751 >>754 レスありがとうございます。
Excelにしたのは、オートフィルタを使いたかったのと、読み込んだログの内容から計算値も表示させたかったためです
もう少し自分で調べてきます
Public Function FldInputDlgDsp() As Variant Dim myFld, Shell On Error Resume Next Set Shell = CreateObject("Shell.Application") myFld = Shell.BrowseForFolder(&O0, "情報を取得するフォルダを選択して下さい", &H251, "") FldInputDlgDsp = myFld End Function ---- Private sub フォルダ情報を取得する() Dim FSO, objFld Set FSO = CreateObject("Scripting.FileSystemObject") Set objFld = FSO.GetFolder(FldInputDlgDsp.Items.Item.Path) 以下略 フォルダ参照のダイアログをFunctionでまとめたくて試行錯誤してるんですが、うまく行きません…。 選択したフォルダの文字列は返せるのですが、フォルダパスとして返すには どのようにすればよいのでしょうか?何方かご教示&ご解説お願いします…。
>>756 パスの文字列が欲しいなら
CreateObject("Shell.Application").BrowseForFolder(0, "選択して下さい", &H251).self.Path
なんじゃね?
759 :
756 :2008/07/06(日) 22:14:36
>>758 ありがとうございます!
myFld = Shell.BrowseForFolder(&O0, "情報を取得するフォルダを選択して下さい", &H251, "") .self.Path
Set objFld = FSO.GetFolder(FldInputDlgDsp)
に修正してパスが取得できました。
これでソースが纏められます。感謝m(__)m
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 ログファイルから各種括弧(または類するもの)→ () [] 【】 <> 《》 「」 で囲まれた文字列を取り出したいのですが、どのように処理すれば よいのでしょうか?ログなので、取り出すのは任意の文字列です。 例: ***(aaa)** → aaa **[bbbb]*** → bbbb 月火【水】木金土 → 水
>>762 Excelと直接関係のない質問はVBA専用のスレで聞けってことよ。
>>406 は相談所で自演ばかりやってる基地外だからねぇ。
相談所
574 名無しさん@そうだ選挙にいこう sage 2008/07/03(木) 22:58:30
理由を書いて返論されるのが怖いでけだろ
時間帯的にこいつだろうが正論への反論が怖いわけないって。
あきれ果ててあれ以上詳しくは書かないだけ。
誤爆すまんね 質問不可の板のつもりだったわ
>怖いでけ 方言?
【質問不可】Excel総合相談所スレの雑談・議論スレ2 406 名無しさん@そうだ選挙にいこう sage 2008/07/03(木) 22:57:26 相談所でわざと誤字を書いてみる。どこまで食いついてくるかな。 こういうことらしいからわざと書いたんじゃね? 俺は返論がわざとだと思ったが、ググってみると返論って使ってるやつもいるようだな。
かわいそう
769 :
名無しさん@そうだ選挙にいこう :2008/07/07(月) 09:20:54
教えて欲しいことがあります。 A B C D 1 1 10 100 1000 2 2 20 200 2000 というセルの状態から E 1 1 2 10 3 100 4 1000 5 2 6 20 7 200 8 2000 という状態にセルを移動させるにはどうすればよいでしょうか。どなたか教えてください。 できればVBAを使わないでやりたいです
771 :
名無しさん@そうだ選挙にいこう :2008/07/07(月) 09:35:25
>>770 ありがとうございます。たしかにそれだと短い行列ならできますが、
問題はセルの行が2000行近くあり、行列の変換をおこなうだけで
エラーがおきてしまいます。他に方法がありましたらよろしくお願いします
>>769 '=A1
'=B1
'=C1
'=D1
を下に引っ張って、データ、区切り位置、完了で数式に戻せばいいんじゃね?
>>771 INDEX($A$1:$D$2,1,1)
INDEX($A$1:$D$2,1,2)
INDEX($A$1:$D$2,1,3)
INDEX($A$1:$D$2,1,4)
INDEX($A$1:$D$2,2,1)
INDEX($A$1:$D$2,2,2)
INDEX($A$1:$D$2,2,3)
INDEX($A$1:$D$2,2,4)
INDEX(参照領域,行番号,列の連番)
行番号は row で引いてきても良いような
連番は、適当な場所に作って参照しろ
>>773 別シートに以下を作成
A B C
1 1 1 =INDEX(参照領域,A1,B1)
2 2 1 =INDEX(参照領域,A2,B2)
3 =A1 =B1+1 =INDEX(参照領域,A3,B3)
で3行目を FILL して全体を値複写して
A列B列を昇順にソート
775 :
名無しさん@そうだ選挙にいこう :2008/07/07(月) 10:20:29
772.773 ありがとうございます。 773の方法でやってますが、うまいこと参照できません。 参照の方法としてどんな方法があるのか教えてください。
>>775 772じゃないが、=A1じゃなくて'=A1ってやってる?
頭に接頭辞の「'」をつけるんだが。
>>774 > A B C
> 1 1 1 =INDEX(参照領域,A1,B1)
> 2 2 1 =INDEX(参照領域,A2,B2)
> 3 =A1 =B1+1 =INDEX(参照領域,A3,B3)
参照領域は名前の定義でもすればよい
行数が2行じゃなければ追加すればよい
A B C
1 1 1 =INDEX(参照領域,A1,B1)
2 2 1 =INDEX(参照領域,A2,B2)
2 3 1 =INDEX(参照領域,A3,B3)
3 =A1 =B1+1 =INDEX(参照領域,A4,B4)
780 :
名無しさん@そうだ選挙にいこう :2008/07/07(月) 13:56:03
横列は8列に固定されてます。 いまいちほかのひとのほうほうだとわかりずらいというか、 初心者でもうしわけありません。
>>780 できた!!
=INDIRECT(CHOOSE(IF(ROW()<=8,ROW(),IF(MOD(ROW(),8)=0,8,MOD(ROW(),8))),"a","b","c","d","e","f","g","h",)&
INT((ROW()-1)/8)+1)
クソ数式ですね、分かります
A-Hの8列に入力していて、
I1に入力
後は下へオートフィル
>>780 参照先を絶対参照($マーク付き)にしていますか?
相対参照では巧く行きませんよ。
参照先の表は名前のを定義しておくことをお奨めします。
・表全体を選択して
・メッセージボックスに名前を打ち込むか
・プルダウンメニューの"挿入"⇒"名前"⇒"定義"で行う
何かのテキストエディターでTABを改行に置換すりゃいいんだろうけどね。
>>781 間違いではないがcolumn使ったほうが遥かに早いぞ
まだできないの? 数式なら =INDEX(A:H,INT((ROW(A1)-1)/8)+1,MOD(ROW(A1)-1,8)+1)
786 :
781 :2008/07/07(月) 16:52:24
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 フォーム ボタン キャプション セルの値 VBAでUserForm上にボタンを置きました。 そのボタンのキャプションを,あるシートのあるセルに入力した文字列に したいのですが,取得する方法を教えてください。 UserFormを表示させたときに,既にボタン上にその文字列が表示されている ようにしたいのです。
UserForm1.CommandButton1.Caption = Sheets(1).Range("a1") UserForm1.Show
>>786 >>781 でINTもMODも使ってるから分かってるはずだよな。
わざと複雑にしたんだろ?
>>788 ありがとうございます。思い通りの動作になりました。
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 いいえ 【5 検索キーワード 】 曜日 日数 祝日 A1に7月なら7月と月が入っていて、A4からA34に1日〜31日と表記。 D4〜D34にその日その日の売上を記載しています。 その上で、 @D38に平日日数、D39に休日日数を自動算出(できれば祝日も…) AF38に平日の合計売上、F39に休日の合計売上を自動算出 したいと思っております。ご助力頂ければ幸いです。
Excelって新しく出る度に関数が新しく追加されたりしますか? 古いバージョンで関数使えない場合ある??
>>792 新しく追加される。
古いバージョンで関数が使えない場合もあるよ
>>791 祝日の判定はExcel自身では出来ません
何故かというと、祝日は国により大きく違い(Excelは全世界で使われてます)
また毎年、国の発表を以て決定される物や、新設、廃止もあるからです
なので、アドインなり外部データなりを用意しなければなりません
あとは何処かの列で曜日判定して、それを条件にCOUNTIFやSUMIFで日数と合計出せば良い
曜日判定はDATE関数でDATE(YEAR(TODAY()),A$1,A4)のようにシリアル値を返し、
WEEKDAY関数で曜日判定すれば良い
A1が値「7」で表示形式「0"月"」ではなく、文字列で"7月"と入ってるなら
上記のように直すか文字列解析で数値部を取得しよう
>>793 やはりそうですか。トン
関数勉強マンドクセー!!
>>794 あまりややこしい事しなくても
平日か休日かを指定する作業列を設けて平日なら1、休日なら空白、のように「手作業で」入力して
COUNTIFで日数、SUMIFで合計売上を算出すればいいのでは。
会社固有の休日なんかもあるかもしれないわけで、その辺は手作業で、と割りきった方が楽だと思うな。
Excel2003で、VBEを他のユーザに起動させたくない場合は どの部分を弄ればいいのでしょうか?
798 :
名無しさん@そうだ選挙にいこう :2008/07/07(月) 23:35:54
そいつは無理な相談だw
コード見られたくないんだったらパスワードで保護するのが唯一にして最高の手段だよ VBE表示させたくないっていうんだったら、まあ、自分でExcel相当のもん作ってくれ、としか言えないわなw
メニューバーをカスタマイズして簡単にはVBEを出せないようにすればいいんじゃまいか
そうしたらショートカットキーがある ショートカットキーをマクロで上書きしたら、マクロ無効で開く手段がある Excelを使ってるんだから、Excelの機能を制限しようなんてのが土台無理な話
>797 目的はそれではなかろう。 何をしたいかちゃんと書けばヒントが見つかるかも知れん。
程度問題だろ。無知なユーザーにうっかりいじられたくないって程度の話なら メニューとショートカットキーをカスタマイズしとく程度で充分。 一からExcelを作るよりはるかに楽だよ。
ああ、確かインストールのオプションでVBEをインストールしないってのがあったかな それくらいだろうな
ここでエスパー登場。 やりたいのはVBEじゃなくてVBAを隠したいんでない? 違ってたらエスパー帰ります。
VBE入れなくてもVBAの実行は可?
807 :
名無しさん@そうだ選挙にいこう :2008/07/08(火) 08:47:34
よく求人でexcelの基礎できる方って表現あるけど、mosを勉強したら基礎はできてることになる?
うん
初歩→Microsoft Office Specialist/Excel Specialist 基礎→Microsoft Office Specialist/Excel Expert Microsoft Office Specialistは免許試験ではなく認定試験であり 受かったからといって何か特別なことが許されるような物じゃなく、単なる目安だから 受講者を集めるために名前を大げさにしているが、名前の割りに内容レベルは低いので要注意 基礎が出来て無くてもSpecialist(旧 一般レベル)は受かっちゃうからな しかし、基礎できる方って言っても、実際にどのレベルを求めてるかは会社によるけどね 伝票入力程度しかやらないところなら、Excelの初歩どころかキーボードやマウス操作の初歩だけでOKってこともあるし
811 :
名無しさん@そうだ選挙にいこう :2008/07/08(火) 11:58:45
今mos問題集をやっていてもうすぐ終わるんだけど全然できてる気がしない
役に立たないってわけじゃないんだけど、 役に立たないことが多すぎるよなぁ 勉強時間の代わりに実務やったほうが100万倍マシ
当のMSが2007でユーザーインターフェース変えちゃうんだもんな。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】foreach コレクション vba ブック内の全シートの全セルをコピー、値で貼り付けするコードを教えてください。 コレクション・foreachを使うんだろうなというところまでは検索できたのですが、 うまく組み合わせることが出来ないんです 台帳の数式(長くて、処理の重いものが大量に入ってます)を 保存用として値にできれば良いので、方法はとしては コピーペースト以外で良い方法もあればそちらも教えていただけるとありがたいです
ExcelのVBAで、ブックを修正し、保存すると他のブックの 任意のセルへフラグ1を立たせたいと思っています。 ですがmbeforesaveは、保存前に処理が走るので 保存したかどうかはわからないですよね? 保存しない場合は何もせず、保存された時だけ 処理を走らせたい場合はどうすればよいのでしょうか。
816 :
名無しさん@そうだ選挙にいこう :2008/07/08(火) 16:49:33
×mbeforesave ○beforesave つかれてるんです
817 :
815 :2008/07/08(火) 16:59:37
つまり保存処理が実行された時ではなく、 実際に保存が行われた際(後)に処理を 走らせたいということなんです。 If ActiveWorkbook.Saved = True で判定させればいいのかなぁと思いつつ どのタイミングで呼べばいいのかなと。 「閉じるときにAutoCloseで呼べば?」 と言われそうなんですけど、保存した時に すぐにフラグ立てに行って欲しいんです
>>814 全シートを別のブックにコピーするんじゃなくて、そのブック内で数式を全部消したいってこと?
Ctrl+A&Ctrl+Cして全セルを指定してコピーし、 右クリックして「形式を選択して貼り付け」から "値"を選んで貼り付けではダメなんだろうか。 綺麗に計算式消えるけど。
>>818 はい、そうです
>>819 その動作でokです。
ただシート数が50近く*ブックが毎月20〜30あるので、
何とかマクロにしたいんです
シート名と数も変動するためどう対処していいものか分からない状態です
(固定ならシートごとにコピーペーストの記述だけですむんですが・・)
>>820 ブック内の全シート全セルを「値」で貼り付け
Sub Macro1()
For Each S In Worksheets
S.Activate
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Next
End Sub
>>819 の処理を手動で行いマクロに記録
ちょっと手を加えてシート番号を取得&付加する。
For文で全シート回して↑の処理を実施
ね?簡単でしょ?
>>821 ありがとうございます!!これで帰れそうです!!
824 :
815 :2008/07/08(火) 17:47:30
流れから行くと今度はわたしの解決方法を みなさんがこぞって回答してくれる番ですね
>>814 台帳をただ保存用にとっておきたいというだけならPDFで出力しといたらどうかな。
P パーフェクト D ドライセン F F型
財務関数について 10万円を年利9%の一年(12回)ローンで借り入れた場合、毎月の返済額を知りたい時は PMT(9%/12,1*12,100000)と入力して-8745円となるんですが、 これを関数使わないで自分で計算する時の計算の仕方が分かりません。 スレと関係ないかもしれませんが教えてください。
832 :
815 :2008/07/08(火) 19:42:04
うわーんなにこの流れ。 お願いしますわたしも終わらないと帰れないんです… 皆様の力をどうか犯しください。
ふだんのレスがしのばれる誤変換ですね
835 :
名無しさん@そうだ選挙にいこう :2008/07/08(火) 22:52:28
お世話になります。 VBAの知恵を貸してください。 HTMLやXMLのタグを調べたいのですが、 <hoge id="101" id2="201"> <foo> <hoehoe id3="aaa"> のようなタグから、タグ名のhoge,foo,hoehoeという文字列を抜き出したいのですが、 どのような方法があるでしょうか。 trimして、左右の括弧を切り取った後に、空白で区切られた先頭の文字列を得る方法がわかりません。 よろしく御願いします。
836 :
名無しさん@そうだ選挙にいこう :2008/07/08(火) 22:54:27
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel Vlookup データ Q&A 数値データ & "/" & 数値データ m/d の文字列で検索しても、 日付データ"m/d"が参照できません>< 一般用のファイルなのでマクロを使わないで関数のみで自動計算してあげる必要があります なんでこんな編な扱いにしてんだかだれか助けてくだしあ
>>835 replace(split("<hoehoe id3=aaa>", " ")(0), "<", "")
>>836 DATEVALUEでシリアル値に変換して書式でm/d
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 IF関数 AND関数 C D E F 1 数値 数値 数値 ・ ・ ・ 記の表からIF関数とANDを使って 『D1がC1以下になり』かつ『E1が3000以下になった時』 F1に“達成”、それ以外は“未達成”と表示されるようにしなさい、 という問題を解いていたのですが、 解答 =IF(AND(C1>=D1,E1<=3000),"達成","未達成") 自分の答え =IF(AND(D1<=C1,E1<=3000),"達成","未達成") この答えで不正解になりました。 AND(C1>=D1,3000>=E1)やAND(D1<=C1,3000>=E1)でも不正解でした。 言ってる事は同じだと思うのですが、やはり解答以外は間違いなのでしょうか? 間違ってるポイントが分からなくて引っかかってしまいました。 Excel以前の問題のような気もしますが、解答をよろしくお願いします。
>840 excel以前の問題です。
比較する場合に比較条件の変数と定数をどちらに配置するかと 言う点では>840の解答のみが正解となる。 結果は同じとか言ってると後々痛い目に合う。
843 :
815 :2008/07/09(水) 10:11:31
やはり保存前に処理を走らせることはできても 保存後に判定する方法は無いですか?
宿題かいな
結果は同じだしどうでもいいよ VBAとかに手を出し始めるとまずいことになる可能性はあるけど
>>843 こうかな? ThisWorkbookに書く。なにか問題が起きても知らん。
Dim mySaved
Sub AfterSave()
If ThisWorkbook.Saved Then
MsgBox "saved"
Else
MsgBox "not saved"
End If
If mySaved Then
ThisWorkbook.Saved = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
mySaved = ThisWorkbook.Saved
ThisWorkbook.Saved = False
Application.OnTime Now + TimeValue("0:0:1"), "ThisWorkbook.AfterSave"
End Sub
847 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 10:47:25
すみません、つまらないことをお聞きするんですが 今現在VLOOKUPや割り算など式の結果でエラーが出るのを防ぐために =IF(ISERROR(数式),"-",数式) などのように毎回しているのですが オプションや書式などでエラーを表示させないという方法以外で というか純粋にこの計算式をいじることだけでもっと短く簡単にする方法ってないでしょうか 数式が長くなると毎回これをつけるのが大変になってしまって・・・ メール添付で送信とかしたい時にも容量を減らせれば苦情も減るかなとか・・・
2007からIFERROR関数というのができたんだよ つまり、それ以前は対処方法無い
>>841-842 >>845 解答ありがとうございます。
結果が同じだからではまずそうですね。
記述上のルールの問題ですか・・・。
厳密なルールがあるのなら調べてみたいので、
検索上ヒントとなるような事があればお願いします。
重ね重ね、すみません。
>>849 それってPC用のソフトで正解を自動採点してくれるやつ?
だとすると正解判定の処理が融通が利かないだけだろうなあ。
大事な資格試験だったら、あえて捻くれた回答をする事も無いと思うけどね。
「A<B」と「B>A」は意味が違うのは確かだが
「AはBより小さい」を式で表せと言われた時に「A<B」が正解で「B>A」が不正解かと言われると微妙なところ。
その辺り、数学的に厳密な定義って無いと思うから。
「A<B」を日本語で読めば「A小なりB」だから「A<B」の方が自然と言えば自然な書き方という程度の話。
変数と定数をどちらに置くかなんてのもコーディングスタイルの問題で、普遍的な決まりがあるわけじゃないし。
意味が違うとだけは認識しておいた方がいいけどね。
>842 比較の場合、比較する基準が右辺、比較される対象が左辺でしょ。 「自分の答え」が正解だと思います。 >821 アクティブにする必要があるのか、セレクトする必要があるのか。 何をしたいのか、よく考えましょう。 S.Cells.Copy S.Cells.PasteSpecial Paste:=xlPasteValues
852 :
850 :2008/07/09(水) 13:38:42
>>840 のレスよく読んでなかった・・・
『D1がC1以下になり』なら「D1<=C1」が自然な書き方だわな。
不正解になる理由がますます分からないね。
まあ、そのソフトor試験官の間違い(勘違い)という事で、あまり悩むような事じゃ無いかと。
>>850-851 解答ありがとうございます。
>それってPC用のソフトで正解を自動採点してくれるやつ?
そうです。ソースネクストの特打式Excelってソフトです。
全くの初心者からだったので極力分かりやすい(と思われる)のがいいかと思って。
>比較の場合、比較する基準が右辺、比較される対象が左辺でしょ。
ありがとうございます。覚えておきます。
これなら
>>851 さんの仰るとおり間違って無いような・・・。
とりあえずは拘泥してまで取り組まなくてはいけない問題ではなさそうですね。
先に進んでみます。
854 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 13:53:01
ソースネクストは相変わらずいい仕事するなあw 偉そうに啓蒙してた奴アワレw 痛い目に合うwwww
855 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 14:00:55
そうでもないか
856 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 14:12:53
みっともねえなあw
857 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 14:14:18
ま、実生活でもごめんなさいを言えずに白い目で見られてるんだろうなw
関数について質問です A1に入力されている文字列がB1:B3の範囲にあればTRUE、なければFALSEを返したいのですが、 FINDとif、ISERRORを組み合わせるしかないのでしょうか
VLOOKUP()でもできるよ
=NOT(ISNA(MATCH(A1,B1:B3,0)))
どっちを左辺Or右辺でに持ってくるなんて決まりはないねー。 たとえばANDを使う場合、A1が5以上10未満を判定する場合は =IF(AND(5<=A1,A1<10),"範囲内","範囲外")が分りやすいもんね。
不等号な対する回答のレベルの低さに驚愕した。 しょせんExcelスレだな。 まだまだ啓蒙が必要だ。
>>862 どのように使うのがいいのか俺に教えてくれ。
>>863 不等号は右辺と左辺を比較したいときに使えばいいのだ。
>>861 の言うとおり、
>どっちを左辺Or右辺でに持ってくるなんて決まりはないねー。
ということだよ。
以下、啓蒙の必要なやつら。
>>842 >結果は同じとか言ってると後々痛い目に合う。
>>850 「A<B」と「B>A」は意味が違うのは確かだが
>>851 >比較の場合、比較する基準が右辺、比較される対象が左辺でしょ。
不等号は、式の読みやすさ、間違えにくさを考えて、右向きか左向きかを選ぶ。 たとえばB1<A1よりはA1>B1の方がいい。 これはシート上のセル配置と同じ順番になっていた方が直感的にわかりやすいだろうとの判断による。 まあケースバイケースだから一概には言えないけどね。 結論としては、やっぱりソースネクストはソースネ糞トだったってこと。
>これはシート上のセル配置と同じ順番になっていた方が直感的にわかりやすいだろう ひでぇ・・・w
>>866 ソースネ糞トに異論はないが、なんか言ってることが支離滅裂じゃない?
お前の言うのが正解ならソースネクストも正解じゃん。
俺はどうでもいいと思ってたが、しかしいろんな考え方があるもんだなw
不等号の場合は逆向きにしても結果が変わらないだけで 一般的には演算子と被演算子の順序には意味があるんだよ。 高校あたりの数学で今は演算子って習わないのかね。
日本とアメリカじゃ右辺と左辺の意味が逆になるんじゃなかったっけ
右辺と左辺に意味があるだなんて、文学的な連中だな。 君たちは将来そっちの才能を伸ばしなさい。 まずは高校受験をがんばれ。
874 :
870 :2008/07/09(水) 21:04:44
876 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 21:12:11
産業 朝教えて貰ったdatevalueすげー役にたったありがとう シート跨いで引っ張れなかったのが謎だった 隠しセルを大量に作ってしまいましたがなんとかクリア出来ました
しかし
>>840 は面白いネタを提供してくれたなぁ。
不等号のことだが、こいつもなんか勘違いしてそうだな。
>>845 >結果は同じだしどうでもいいよ
>VBAとかに手を出し始めるとまずいことになる可能性はあるけど
VBA厨はやっぱりアホだ。
879 :
870 :2008/07/09(水) 21:22:08
不等号の向きに普遍的な決まりなんてないから
>>840 のような試験問題で不正解とされるのはおかしい。
>>861 のように見た目の分かりやすさを重視して向きを決めるのも一つの方針として正しいし
>>866 のようにセル配置と同じ順番が分かりやすいという自分なりのルールに沿って式を書くのもあり。
数学的には演算子と被演算子の順序が違ってくると意味が違ってくる(一般的には)。
別に矛盾した事を言ってるつもりは無いんだがなぁ。
>>879 君はプログラマに向いてないね。
まぁ間違っちゃいないんだけどね。
>>879 数学的とか一般的とかを軽々しく使うところがおっちょこちょいなんだよ。
>>879 君の立場だと、
1. A>B
2. B<A
の意味は違うの?違わないの?
どっち?
883 :
870 :2008/07/09(水) 21:58:51
>>880 プログラマは会社やチームで決めたコーディングルールに従えばいいわけで
俺は何でもかんでも自分ルールで好き勝手やれなんて言ってないぜ?
>>881 俺のレスでおかしな部分があれば具体的に指摘してくれると俺の勉強にもなるしこのスレの財産にもなるんだけどなあ。
そういう一言煽りだけのレスはこのスレ見てる第三者にとっては何の益も無いゴミだよね。
>>882 意味は違うよ。ただ「どちらかにすべき」か「どっちでもいい」かは状況によって違うって事。
条件式をいくつも並べる時はマイルールでいいから明確な基準を作って 書き方を統一しとかないとバグの元だよ。
885 :
870 :2008/07/09(水) 22:02:16
ちょっと俺必死すぎるな。 よく考えたらExcelスレで熱く語るような内容とは思えないんで ほどほどにスルーしてくれや、俺の負けでいいから。
左辺の意味とか右辺の意味とかなんだよ。 もう正直、バカは回答しないでほしい。 回答資格:高校卒以上か3年以上の実務経験のある人
Cでプログラミングしてると左辺右辺は凄い気を使うぜ 条件式でわざと定数を左辺に持ってくとかな
>>886 プログラム言語の文脈とか演算子の意味とか一生懸命に考えるのは、
むしろ大学に入ってからなんだけど。
890 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 22:18:48
決定的な規則はないけど
>>884 も言ってるように
使用者範囲で基準を作った方が読解性、メンテナンス性は上がる
自分のみが使うものならマイルールでいいし、会社で使うなら自社内で決めれば良い
コーディング規約とかだって同じだ
数式でもプログラムでもその他でも、結果が同じなら表記はどうでもいいだと、いろいろ不都合がある
道路標識だって止まれが@、右折禁止がE、50km/h制限がLとかだったらどうよ?
法令でそれらの意味を上記のように定めれば、現在の止まれ標識でも@でも標識が示す意味は同じになる
でも解りやすいように、覚えやすいように、見やすいように表記を工夫するだろ
それと同じだ
バカばっか。
小学校の時、1個30円のミカンが5個でいくら? みたいな問題で30*5=150という順序で書け 5*30=150じゃダメって先生がいたの思い出した。 どっちでもよくね?
>>892 右辺と左辺の意味がどうとか言ってるやつはその先生と同じレベルだな。
894 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 22:30:27
表を作成して値をプロットして最小二乗法で近似し4つグラフをつくました。 このあとバラバラのグラフを統合したいのですがどうやればいいのでしょうか? バージョンは2007です
895 :
304 :2008/07/09(水) 22:31:09
自己解決しました。
プログラマの開発チームって不等号の向きまでコーディングルールがあんの? 信じられん、ホントかよ
897 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 23:09:36
>>892 どう違うんだ?
明確に定義されてるの?
>>896 ウソに決まってる。
しょせんVBA厨のたわごと。
899 :
名無しさん@そうだ選挙にいこう :2008/07/09(水) 23:14:03
>>897 カケル数とかけられる数だろ
単価と個数なら個数×単価と表記するハズ
本当にどうでもいい話
900 :
896 :2008/07/09(水) 23:14:30
>>898 いや、オレ自身VBA厨だからこそ信じられんのよ
こういう一部のイタイ奴と一括りにVBA厨と呼ばれるのは激しく心外だ
不等号にコーディングルールがあるなって言ってる奴いねーだろ 読解力無い馬鹿多いな
エクセルVLOOKUPとかを使って入力を簡易にしようと考えているのですが 複数の条件に合致する物を抜き出す方法がよくわかりません。 例えばVLOOLIPする為のデータとして以下のような物があった場合に ID | 名前 | SID | 名前 | 量 100 | 飲料 | 10| 牛乳 | 200ml 100 | 飲料 | 10 | 牛乳 | 150ml 100 | 飲料 | 20 | 真水 | 300ml 100 | 飲料 | 20 | 真水 | 400ml 200 | 食糧 | 10 | お米 | 4Kg セルA1に「100」と打ち込んだ場合にA2セルに「飲料」と表示する事はVLOOKUPで出来ました。 その次の段階として、 1:A1に「100」B1に「10」と入力した場合にB2に飲料グループの10、すなわち「牛乳」を表示させたい。 2:A1に「200」B1に「10」と入力した場合にB2に食糧グループの10、すなわち「お米」を表示させたい。 と考えているのですが、エクセルでのやり方がわかりません。 VLOOKUPの説明にはデータは昇順になっていなければならないとか書いてありますし、 複数の条件の書き方もよくわからないしで困っています。 どなたか有効な方法をご教示していただけないでしょうか。
つmatch
すいません。
>>902 です。
先程の例では200の食糧が一つしかありませんが、
実際には200の食糧のSID違いがたくさんあります。
>>903 Matchのヘルプを見たところ、位置を割り出す関数との事ですが、
>>902 の問題を解決する書き方がわかりません。。。
たとえばMatchでA1:A5からIDが200であるものを抜き出し、
行位置5を得たとします。
次にMatchでC1:C5からSIDが10である物を抜き出そうとすると、
1行目にある飲料用の10の位置1が求められてしまいます。
A1:A5等の範囲指定として検索結果の値を利用し「5行目以降から検索」などと
動的に検索範囲を指定する方法があるということでしょうか?
>>892 欧米だとそれが5*30=150の方が正解になっちゃうんだよな。
つまりどっちでもいいってこった。
>>894 「統合」の意味がよくわからんが。
データの範囲がまったく同じなら「データソースの選択」で系列を追加できる。
範囲の異なるグラフを重ねたいなら、
グラフエリアとプロットエリアを「塗りつぶしなし」にすると下が透けるから
位置と大きさをぴったり合わせて、タイトルや軸ラベルを1つ残して空白にする。
>>907 ありがとうございます。
教えていただいたサイト目からうろこ的事が色々書いてあってためになりました。
他にも色々応用してゆけそうです!
可読性の問題だろ AはBより大きい と BはAより小さいは 元ネタにより可読性のいい方を選択すれば。 ”可読性は、関係ない”という意見には同意しかねる。
911 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 08:34:31
えくせるで質問ですが1つの表には複数ページがありますよね このとき各ページの項目の合計を求めたいんですが 方法を教えてください
いいかげんにしないと痛い目みるぞwww
>911 =SUM(ページの項目の合計を求めたい範囲 )
914 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 09:32:31
>>896 「不等号の向き」にコーディングルールがあるなんて誰も言ってないと思う
「>は使わず<を使うこと」なんてルールがあるとか言ってる奴が居るなら、俺も信じられないけど
コーディングルールを定めるとすれば、右辺、左辺の方だな
例えば変数やプロパティと定数の比較式の場合は、変数やプロパティが左辺で定数が右辺とかね
大抵の人は何も言わなくても変数やプロパティを左辺に書くが
チームでやる以上、こういう細かいことも明確に定めておいた方が後々トラブルにならないし
>914 いつまでやってんの?
>>914 わからないなら書きこまなきゃいいのにw
917 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 11:02:58
6:00を6時間とセルに表示させ、関数の引数に利用するにはどうすればよろしいでしょうか。どうしてもわかりません。上級者の方、教えてください。
>>917 初心者だけど考えてみる。
書式のユーザー定義で「h"時間"」にする。
ただし関数によっては、これじゃだめな場合もある。
どんな計算をしたいのか書いてくれたらまた考えてみる。
919 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 12:55:02
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ちょこっと 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 住宅ローン 生活費 財務関数 Excelで住宅ローンや生活費の試算をやろうと思っているのですが、 金利や生活費が変化したらどれだけ生活が苦しくなるかを試算したいのですけど、 どの関数を使えばいいのかが分かりません。 試しに5000万を金利2%で借りて生活費が30万だった場合とかやると、 1セルごとに元本*年利-生活費の式を入れて計算し、下のセルでこのセルを参照して計算させると 35年後のローン残高や残り試算などは計算できますが、 横方向に2%から5%まで0.3%ずつ金利が高くなった場合の計算結果を表示し 縦方向に生活費が20万から50万まで3万ずつ生活費が高くなった場合の計算結果を表示したいのですが、 どの財務関数を使えばいいのか分からずうまくできません。 生活費抜きの単なる支払い総額とかだけなら、上に書いた掛け算と引き算でなんとかできるのですが。 良い方法がありましたら教えてください。
収入はいくら?それが分からないとどうにもならない
922 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 14:50:01
グラフの軸数値を2進で表示することってできますでしょうか?
923 :
あ :2008/07/10(木) 14:58:16
0:00:00を表示形式で車種にするにはどうすればいいでしょうか。
924 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 15:33:26
出勤(HH:MM)-退社(HH:MM)で一日の勤務時間がわかりますが、 -8:00して残業を出したいと思います。 どう書けばいいのでしょうか?
>>924 A1に出勤、B1に退勤、
C1は通常時間として=if((b1-a1)>=8/24,8/24,b1-a1)
D1に残業=if((b1-a1)>8/24,b1-a1-8/24,"")
休憩を入れるならb1-a1から更に休憩時間を引いてe1が休憩時間とすると
b1-a1-e1みたいな感じにする
926 :
凡人 :2008/07/10(木) 16:33:10
918 様 ありがとうございます。なんとか自己解決しました。6:00:00を6時間と表示する表示形式 "6時間";;でした。引数に使えました
927 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 16:50:44
ありがとうございます。もうひとつ聞きたいのですが、深夜出勤などで夜11時から8時までを別金にするため、 「(もし退出時間が23以上ならば1)+(もし出勤時間が32以下ならば出勤時間-24)」みたいな式ができると思うのですが どう書けば判らないのでよろしくお願いします
928 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 16:52:33
追記:夜をまたいで出勤している人は24+Hして入力する規則にしてあります
929 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 17:35:40
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 連続 A列 B列 1 1 2 1 1 1 1 1 3 上記のように、B列に連続回数を表示させることはできますか?
>>927 "エクセル 出勤表" でググると上から3番目に
出勤表のファイルがダウンロードできますので参考にしてみてはいかがでしょうか?
>929 B2に↓これを入れて下へフィル =IF(A3="",COUNT(A$1:A2)-SUM(B$1:B1),"")
>931 感心した。乙♪
933 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 20:39:14
すまん、ちょっとExcelの応用的な使い方について助言を頂きたい。 問題点が2つあって、解決できない可能性高いが、質問です。 :下ごしらえ 地図をシートの背景に表示させる。(シートの背景に図を読み込む。) セルの列・行幅を3ピクセル程度にして、グリッド表示のようなものにする。 :やりたいこと ある地点プロットの情報をセルに入力する。 情報を入力したら、VBAからそのセルのコメントを生成し、セルの情報とコメントの情報を連動させる。 (これにより、入力情報を可視的にコメントで表示でき、かつ、違うVBAマクロで検索をすることができ、 データベースとしても拡張できる。) 質問1 まずは、上記のセルとコメントの連動ってVBAでも出来るかな? ちょっとイベントの書き方がわからん。 「どこのセルでもよいから、情報を更新したあと、○○を実行せよ」 ってイベントの書き方だと思うんだが、今まで経験ない。 質問2 これが大問題なんだが、シートに背景が表示されて居る状態で入力作業が可能であり、 かつ、背景を印刷するためには、上記の方法を使用し、最後に「WEBページとして保存」すれば、 背景の地図は印刷されるんだが、Excelで編集したプロットと、印刷したときのプロットが ずれてしまう。しかもコメントがうまく表示できない。 こんなモノは解決することが可能なのかな? また、他のアプリの知識が乏しく、Excelで無理矢理やろうと思っているんだが、 他にもっと便利な方法はあるかな?
>質問1 できる worksheet_changeイベント等 >質問2 解決不可能
>>933 内容が変更された時のイベントはWorksheet_Change
印刷するとずれるのは仕様。Excelではどうしようもない。
簡単にやるならHTMLのイメージマップとか使った方が早いかもよ。
強いて言うなら、画面をprintscreenでハードコピーして、それを画像として印刷するくらいだな。印刷は鬼門。
最近じゃその手の処理はgoogleMAPでやる。 一昔前はゼンリンが専用のアプリを販売してた。 速い話、Excelじゃ無謀。
938 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 20:47:47
質問です。 A,B,C・・と何人かが、事をした日を表で作りました。 1 2 3 4 5 ・・・・ A 1/2 2/3 3/5 4/6 5/4 ・・・・ B 2/23 5/2 5/24 10/2 C 1/10 3/14 とAが一回目をしたのは1/2でCが一回目をしたのは1/10 一番定期的にやってるのがA、Bは不規則 Cはしばらくやってない これをグラフで表現したく 縦軸を回数、横軸を日付にしたいと思います。 エクセルでどうしたらできますでしょうか。 お願いします。
>>933 何を目的としてるかによって最適なやり方は変わってくるなあ
GoogleMap使えば簡単そうだけど、自前の地図とか地形図とかに重ね合わせたいという事であればGoogleMapでは無理だし。
あと最終的に印刷するのが主目的なのか、ウェブ上で公開したいのか、など。
940 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 20:52:28
>>935-937 即回答ありがとう。無理とわかっただけで感謝。で、もう一回だけ質問お願いします。
・googleMAP
・HTMLのイメージマップ
グーグルマップってネットで無料で使える奴だよね?
データベースとしては拡張可能かな?ただ図面作れるだけかな?
・HTMLのイメージマップってのなんか勉強しないとうまく使いこなせない?
941 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 20:53:13
>>940 ・DBとして拡張可能
・VBAからブラウザ経由でも、HTTPRequest経由でも操作可能
・個人ユースでは無料だけれども、法人利用はライセンス供与の認可が必要
・HTMLのイメージマップは勉強しないと使いこなせない
>>940 ここはExcelスレだから他の質問はほどほどにした方がいいよ。
(ググればある程度自分で調べられる事ばかりだし)
ここで答えられるのは課題がExcelで解決できる問題かどうか、Excelでやるとしたらどういったやり方をすればいいか。
その辺の解答を得たかったらもう少しやりたい事を具体的にさらした方がいいよ。
これ以上はめんどいので答えません。まーがんばってくれ。 知識ないなら、たぶん20〜30万位会社にださせて、外注するのが楽だと思うわ。
945 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 21:00:16
>>939 目的は、2つあり、地図にプロットを落として、20文字くらいの情報を吹き出し式で表示し、印刷する。その場所へ到達できるため。
もう一つの目的は、データベースとしても使用したい。結構な量があるのだが、後日にまた行くとき、
データを残しておかないと、またプロットする作業を繰り返さないと行けなくなるので。
地形図までは不要だが、ゼンリン(紙媒体)の見出し程度の地図地形情報は欲しいな。
うーん、困った困った。
WEBベースで画像の決まった位置に文字を重ねるならスタイルシートという手もある。 どっちにしてもExcel関係ないし、それなりに勉強は必要。 とりあえず印刷も視野に入れるんならExcelは選択肢から外して別のスレで質問しろ。
947 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 23:04:27
すみません、初歩的なことかもしれませんが教えて下さい。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 見出し印刷 実線 長い表を見出し印刷したいのですが、横線が点線なのでそれぞれの一番下が 点線表示になってしまいます。印刷上で実線化することは出来ますか? あと、プレビュー画面で拡大コマンドが使えない(グレー表示になっている)事の 原因はなんなのかわからずに困っています。どうかこの2点に関して教えて下さい。
>>947 そのままの状態でページ全体が表示できている場合(モニターの解像度が大きい、または印刷用紙が小さい)、
拡大ボタンが押せなくなります。
線については、印刷範囲を確認しながら手作業で線の種類を変えていく方法しか思い付きません。
949 :
947 :2008/07/10(木) 23:22:41
>>948 さん
素早い回答、どうもありがとうございました。
線に関してはこれから改善して欲しいところですね。
950 :
名無しさん@そうだ選挙にいこう :2008/07/10(木) 23:51:29
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 標準偏差 折れ線グラフ 百分率
±にY誤差を入れた折れ線グラフを作っています。
Y軸が百分率なので最大値が100%なのですが、偏差の範囲が100%を出てしまい、軸が120% に修正されました。
100%に変えたところ誤差が途切れるようになってしまい困っています。
Y軸が100パーセントのまま誤差を全て表示するにはどうしたらいいでしょうか?
ttp://up2.viploader.net/pic/src/viploader697138.jpg
>>950 プロットエリアからグラフを飛び出させることはできない。
オートシェイプで白い四角を作って数字の120に重ねて隠せ。
隠す方向なら軸の表示形式で [<=1]0%;"" だとか
Excel 2003 セルの書式設定について。なんとかしゅて。 とあるセルA1。 A1は他のセルB1を参照している。 B1のデータは日付または空欄。 B1の内容によって、A1の表示を変えたい。 [仕様] B1が空欄のときはA1は何も表示しない。 B1が日付 2008/07/11 のときは、H20/07/11と表示させたい。 A1の書式設定で、いろいろ試したところ、ユーザー定義「gee/mm/dd;;;」を設定したら ちゃんと表示されたのでそうした。 単に「 gee/mm/dd 」だとB1が空欄のとき M33/01/00 になってしまうから。 ところがブックを保存して、再度開くと A1の表示が2008/07/11になっている。 A1の書式設定のユーザー定義が「[$-FFFF]gee/mm/dd;;;」になっている。 あとなんですかこのヘルプの使いにくさは。
>>953 [$-411]gee"/"mm"/"dd
956 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 10:30:36
オートフィルのときに値が動かないようにするにはどうするんでしたっけ? \をつけたような気がするのですが、どうするんでしたっけ?
$をつける ちなみに=a1などとにゅうりょした状態でF4押せば楽
>>958 ぱっと見た感じでは間違いではないね。
WorksheetFunction.Matchを使うときはmはLong型にするのが一般的とは思うが。
960 :
958 :2008/07/11(金) 11:18:37
>>959 やっぱほぼ同意見ですか。
彼はmがVariant型ならApplication.Matchだと言ってるのかなぁ。
>>960 そうかもね。
それから上の
>>959 だがmはDouble型でもいいいかな?
WorksheetFunction.Matchの戻り値はDouble型だし。
>>962 どっか間違ってる?
俺には分らないんだが。
>>954-955 ありがとございますん。
[$-411]gee/mm/dd;;; でいけました。
[$-411]gee"/"mm"/"dd だと空欄がM33/01/00になったです。;;;をつけるといけまする。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ(セキュリティ上動作しないそうです) 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 counta countif serch 前任の方の作成した日報の雛形を引き継いで編集しているのですが、 シートが 1日〜31日 まであり、各シートには 仕事A 14:00-15:00 16:00-17:00 120分 仕事B 13:00-14:00 15:00-16:00 120分 このような形でABセルに業務名 CD〜OPセルに業務にとりかかった時間 QRセルに合計時間が記入されています
そして集計のシートにて =IF(COUNTA('1日:31日'!C17:O17)+COUNTA('1日:31日'!C56:O56)=0,"", COUNTA('1日:31日'!C17:O17)+COUNTA('1日:31日'!C56:O56)) この関数で書き込まれているとりかかった時間の数を集計し、 合計時間をこれで割って平均時間を算出しているようなのですが 日によっては 仕事A 業務無し と、行なっていないにも関わらず 上記の関数では業務を行なった数としてみなしてしまう為に、 平均時間の算出がおかしい事に気が付きました。 Excelに触れたのが初めてなので手探りで関数を調べているような有様ですが COUNTIF('1日:31日'!C17:O17,"業務無し") これで大丈夫かなと考えたのですがエラーで使えませんでした。 業務ごとに業務無しと書かれているセルを算出して、 上記の関数の算出値から差し引いた数を得たいのですが どなたか良い案はありませんでしょうか。
>>966 無理に関数を使わずに、日毎に合計欄を作り
更に集計用シートで合計するのが無難と思う
更に良いのは1から日報を作り直すこと
1シートで十分
970 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 13:14:51
2003を使っています。 グラフ作成で横軸や縦軸をk(キロ)やM(メガ)オーダーにするには どうしたら良いのでしょうか? そういった機能はないのでしょうか?
971 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 13:17:06
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 複数のグラフをピークトップで規格するにはどうしたら良いのでしょうか? スケールの異なる複数のグラフの形状を比較したいのですが
>>970 数値をクリック、軸の書式設定、メモリ、メモリ感覚等
973 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 13:25:39
>>972 いえ、そういうことではなく、
500000と打ち込まれているデータをグラフ化して
500kとか単位を変えて表示したいという意味なのですが
表示形式を 0,"k" とか
975 :
963 :2008/07/11(金) 13:49:45
よく見たら間違いが分ったよ。
976 :
963 :2008/07/11(金) 13:52:36
でも日付に抜けがなければ間違いとは言えないかな?
worksheetfunction使わないのか。 古い遺産を使うなんてイリーガルなことしてるのに、データ型やお作法に気を使うんだな。 なんだか偏屈そうな人だ。
>>976 途中に抜けがなくても、最後の日付より大きい日付を検索すると間違った位置を返すわな。
そもそも抜けがなければMatchを使う必要もないんだがね。
日付の抜けがあればあのコードは駄目だね。
r.Item(m)とB1の値を比較する必要がある。
980 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 14:01:45
>>974 ありがとうございます。
うまくいきました。
でもなぜこのような方法でうまくいくのでしょうか?
どうやって3桁ずらしたのですか?
981 :
971 :2008/07/11(金) 14:02:19
お願い致します。
>>962 のリンクでもうひとつ嘘めっけ
>ただし、同じ日付が複数あるデータでは最初のセルしか検索できません。
これ嘘ね。最初じゃなくて最後。
こりゃまたおみごとなダブルスタンダードでw ケチつけさしたら一級の人ばっかだなw
985 :
963 :2008/07/11(金) 15:23:51
Excel総合相談所 72
立てられなかった
誰か頼む
Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-10 あたりの注意書きや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総合相談所 71
http://pc11.2ch.net/test/read.cgi/bsoft/1214204248/l50
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 掲出用のxlsデータを作成しているのですが、作成途中に簡単なマクロを使ったところ マクロを消去してもファイルを開いた時にマクロ警告が出てしまいます。 警告が出ないようにする方法はないでしょうか
>>989 マクロの消去ってどうやった?
ソースコードを消すんじゃなくてモジュールの開放をしなきゃだめだよ。
>>990 ありがとうございます
明日学校行ったら試してみます
992 :
名無しさん@そうだ選挙にいこう :2008/07/11(金) 20:16:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 初心者 表 追加etc 計算式の入った表を増やそうと思っていますが 表を勝手に増やすことで、他のところに影響が出そうで実行できません。 (『Aの100』とセルを指定してる計算式があったとして、表を追加することで 『Aの120』になることで計算が狂ってしまう) 基礎的なことをまったく知らずにいじっているのがそもそも間違いなのでしょうが どなたか教えていただけませんか。 もしくはそういったことを解説しているサイトをご紹介いただけませんか。 宜しくお願い致します。
>>992 たいていは自動的に列や行を変えて、結果に影響が出ないようにしてくれる。
変わって困る場合は式を「絶対参照」に書き換える。
このあたり、一から説明するのは大変なので、もうちょっと自分で勉強すべし。
検索キーワードは「相対参照 絶対参照」あたり。
>>993 ありがとうございます。
他人の作ったファイルを加工していたのですが
式の指定しているセルが分かり、無事加工することができました。
今後のためにも、Excelを勉強していきたいと思います。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 一日の走行距離と給油?が載っている表から燃費を求めるにはどうすればいいでしょうか? 当日の走行距離から前日までの「給油」のデータが入力されているセルの列範囲の走行距離を合計する配列数式を 作ればいいらしいのですが、式がわかりません。 ご教授お願いします。
>>995 燃費を求めるなら、ある時点からの走行距離と消費油量が必要になる
毎回満タンに給油してるなら、消費油量=給油量だが、走行距離を録ってるのが
給油時じゃないなら、曖昧な結果しか出せないな
まあ1ヶ月分くらいのデータで平均取れば、充分目安にはなると思うけど
データがどのように入力されてるか具体的に書いてくれないと、具体的な式は答えようがない
1日に複数回給油するような事情も有れば、数日に1回程度ってこともあるので
それによってもデータ構成は大きく変わるからな
>995 =ROUNDDOWN(A2/(B1-B2),2) 「給油」の記述が分からんから多分違ってる。 サンプルくらい書け。
>>995 その程度の情報なら総走行距離÷総給油量でいいんじゃないかな
999 :
995 :2008/07/11(金) 21:56:02
日付 1日 2日 3日 4日 5日 6日 走行距離 15km 20km 30km 20km 30km 15km 給油 5? 20? 燃費 A B こういう表になっていて、Aの燃費なら(15+20)÷5、Bの燃費なら(30+20+30+15)÷20 と計算して燃費を求めたいんです。 他の月でも使えるような計算式を作るのは可能でしょうか?
ズレたorz 日付 1日 2日 3日 4日 5日 6日 走行距離 15km 20km 30km 20km 30km 15km 給油 5リットル 20リットル 燃費 A B こうです。失礼しました。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。