[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 06/17 16:11 / Filesize : 150 KB / Number-of Response : 399
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel総合相談所 74



1 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:47:24 ]
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総合相談所 73
pc11.2ch.net/test/read.cgi/bsoft/1219830884/


2 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:48:18 ]
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。

3 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:48:59 ]
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。


4 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:49:34 ]
★ルールを無視すると…
 >>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分野の話ではないので、ここでは聞かないでください。

5 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:50:07 ]
★ 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セルを分割 (分割したいセル以外を結合)


6 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:50:41 ]
   ||
   || ━ 質問のしかた ━
   ||
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   ||
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は〜〜〜〜い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  〜(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)〜ミ_ (   ,,)
      @(___ノ 〜(___ノ    〜(___ノ

エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
pc11.2ch.net/test/read.cgi/bsoft/1151651536

7 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:51:26 ]
【 このスレの登場人物 】
┌─質問者───────────
どこにでもいるごく普通の初心者だったり
会社で上司に無理難題を押しつけられて困っている人だったりする。
たまに学生が宿題を持ち込んでくることも。
┌─回答者───────────
テンプレを使わないと無視したり、質問を小出しにするとキレたりするくせに
自分は回答を小出しにして優越感に浸りニヤニヤしている嫌なヤツ。
┌─自称回答者─────────
質問者を煽ったり、回答者を煽ったり、とにかくスレを引っかき回すだけで
何の役にも立たない賑やかし。単なるヒマ潰しでこのスレを見ている。
┌─VBA厨 ───────────
VBAは万能と信じ、どんな単純な問題もついVBAで解いてしまう。
Module1がデフォルトで挿入されている世界を夢見るが、いまだ実現していない。
その実態はほとんどが理系の(元)学生。ピボット厨に目の敵にされている。
┌─ピボット厨──────────
ピボットテーブルの機能が強力すぎるため、なんでもできると錯覚している。
口癖は「データを正規化して出直せ」「ピボッと参上ピボッと解決」など。
弱点は大嫌いなVBAを使わないとテーブルのリアルタイム更新ができないこと。
┌─啓蒙先生──────────
ピボット厨一派の過激派。Excelはピボットテーブルだけのためにあり、
それ以外の機能はワークシート関数すら不要と言い切る。ピボットテーブルで
解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。
┌─そのほか──────────
ワークシート関数厨……何重にも入れ子になった複雑怪奇な数式を作り出し、
関数だけでどんな問題も解いてしまう。たまに自分でも何をやっているか
わからなくなる。悩みは数式バーが1行しかないこと、頭が薄くなってきたこと。

配列数式厨……意外と使えるやつだが滅多に出てこない、というか出番がない。
極めてマイナーな存在。見かけたらその日はいいことがあるかも。

ナレーター……誰か知らない人。

8 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 19:53:05 ]
453
テンプレ終了だけどうわああ順番が違う
次スレは>>1-2 >>4>>5>>3 >>6-7の順でおねがいします


9 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 20:04:55 ]
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Find search

Sheet1のB列に10000行の数字が並んでいます。
Sheet2のC列に100行の数字が並んでいます。
Sheet2にある数字がSheet1のB列にあれば
Sheet1の方のセルの色を変えたいのですが
お願いできないでしょうか?

10 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 20:33:34 ]
Sub TEST()
For B = 1 To 10000
For C = 1 To 100
If Sheets("Sheet1").Cells(B, 2) = Sheets("Sheet2").Cells(C, 3) Then Sheets("Sheet1").Cells(B, 2).Interior.Color = vbYellow
Next C
Next B
End Sub



11 名前:9 mailto:sage [2008/10/08(水) 20:41:29 ]
>>10
ありがとう。助かったよ

12 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 20:41:29 ]
重すぎワロタ

13 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 21:13:33 ]
A1、A2,、A3 のそれぞれ数字6,7,8が入ってるとします。
以下の数式を、B1に書きます。
=A1+A2+A3

その際、B1のセルに、個 という単位をつけて、出力させたいです。
B1セル内に、「〜」個、みたいに書いておいて、計算の出力は「〜」の部分のみに出力
されるなど、方法はないでしょうか? 

14 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 21:37:18 ]
>>13
書式で「0個」

15 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 21:37:47 ]
書式に #"個" と入れる

16 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 21:38:11 ]
>>13
B1に
=(A1+A2+A3)&"個"

17 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/08(水) 21:50:41 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 a little
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 抽出 重複
宜しくお願いします。
以下のようにあって、kudamono(1)=メロン kudamono(2)=リンゴ kudamono(3)=バナナ
kazu(1)=3 kazu(2)=2 kazu(3)=1という感じで格納したいとき、どの様にすればいいでしょうか?
ちなみに、果物は3種類とは限りませんし、セルが空白の場合もあります。
------------------------------------------------------------
メロン
バナナ
リンゴ
メロン
メロン
リンゴ

18 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 22:03:38 ]
>>17
ピボットテーブルでよくね

19 名前:名無しさん@そうだ選挙にいこう [2008/10/08(水) 22:25:10 ]
>>1乙!
スマン、前スレで順番間違えたのは俺なんだ、、、、
許してくんろ。。。

20 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 06:34:56 ]
○の中に文字が書いてあるものを表現したいんですが、何か方法はありますか?



21 名前:20 [2008/10/09(木) 06:38:47 ]
mb1.net4u.org/bbs/index.php?usid=hiroshi&mode=image&file=9.jpg

のようなものを表現したいんですが

22 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 07:12:48 ]
見れない
とりあえず図形と重ねるとか。重なりは最背面に設定

23 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 08:41:35 ]
>>21
ttp://www.vector.co.jp/soft/win95/business/se311992.html
こいつで作れると思う
使ったことないけどw

24 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 10:01:09 ]
excelの表に数式を入れたら、枠内の左上に
緑の三角が表示されるのですがこれはどういう意味でしょうか?
また、これを消すにはどうすれば良いですか?

25 名前:名無しさん@そうだ選挙にいこう [2008/10/09(木) 11:18:17 ]
知るかボケ
バージョンさえ書かない奴に答える口はねえ

26 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 12:35:25 ]
>25
まあまあ、初心者にはもう少しやさしくしましょう。
>24
このスレのbPと2をよく読みましょう。質問テンプレートを使いましょう。
で、ヒントを
ツール−オプション−エラーチェックのタブを見てください。それから
エクセルのヘルプで「エラーインジケータ」を調べるとわかるでしょう。


27 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:04:05 ]
>>20
オートシェイプでできる。そのままでも文字は入れられるけど、位置を微調整したいならテキストボックスを重ねる。

28 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:04:46 ]
>>24
まずはその三角をクリックしてみ

29 名前:名無しさん@そうだ選挙にいこう [2008/10/09(木) 14:12:54 ]
すんまそん、ちょいと教えとくれやす
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 区切り位置 大量
ながいながーい数字が何行もありやして
=LENで見ると192やら384やらくらいの桁らしいんだぎゃ
ほんでもってこれを全部1セルにつき2ケタずつに分割したいんすっけど
区切り位置てーやつで2ケタずつクリックしていくのはマジKYてなもんでして
=MID(数字,1,2)、=MID(数字,3,2)・・・みたいな方法しかないでがんすか?
なんかこうセクシィにスマートにずんばらりんっと切り抜ける方法を教えてけろ

30 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:18:41 ]
>17
これって、配列と集計に関するVBAマクロの一部に関する質問ということでしょうか?
セルアドレス表記が質問文中にひとつもなく、配列変数のことが書いてあるので。

dim kudamono(10) as string, kazu(10) as long 10種類と仮定して

kudamono(1) = "メロン"
kudamono(2) = "リンゴ"
kudamono(3) = "バナナ"

kudamono(10) = "****"
ここらへんはシート上のデータから出現順、もしくは別の一覧データからの転記として、

If kudamono(n) = Cells(tate,yoko).value Then
 kazu(n) = kazu(n) + 1
End If
みたいなことがしたいんですか?



31 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:20:04 ]
>>29
A1にその数字、
B1=MID($A$1,(ROW()*2)-1,2)
後は下にオートフィル
横がよければrow()をcolumn()にすれば良いが、列が足りなさそうね

32 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:27:04 ]
>>29
VBAでTextToColumns使えばすぐに解決できそうだけど
>【4 VBAでの回答の可否】 否
だからなぁ・・

33 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:33:42 ]
>29
どうしてもVBAを使いたくないんであれば、以下の手順ではどうでしょう。

1 処理対象の行だけのシートにして(別の新規シートにコピーでも可)、テキストファイルとして保存
  (拡張子はtxtがいいかも、csv(カンマ区切り)ではないですからね)
2 ファイル−開く−テキストファイル−スペースによって右または左に揃えられた固定長フィールドのデータ
  →テキストファイルウィザード2/3の画面で2桁ずつ区切りを作成
  (最大384桁ということは191回クリックすることになるのかな)
3 テキストファイルウィザード3/3の画面でデータ形式を文字列にしましょう
いかがでしょうか?

34 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:39:08 ]
>25
解答者の、人のレベルも色々混ざってるんだねぇ。
>26
テンプレートの件大変失礼しました。
お陰で解決しました。
以降このレベルの質問は初心者板でします。

35 名前:29 mailto:sage [2008/10/09(木) 14:58:16 ]
>>31
おおぉぉぉありがたや〜
それのcolumnでうまくいきやっした

>>32
すんまそん、村長から
「VBは悪魔の領域!けして近寄るでないないない」
と言われとるもんで・・・

36 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 14:58:39 ]
>34
「初心者板で」というか、ここがエクセル総合相談所だからここでいいんでは?

37 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 15:14:45 ]
>36
そうだね。
では、これからも質問させてもらいます。

38 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 15:20:13 ]
>>36>>37
自演うぜー

39 名前:名無しさん@そうだ選挙にいこう [2008/10/09(木) 15:46:33 ]
>>17

Sheet1の中にべた書きした。作業列が必要になったがB列に果物名を入れる。
作業列なくてもできると思うけど汚いよね。
ちなみに配列は0スタートなので・・いやなら-1いらない子

Public Sub FruitCount()

Dim ArrFruit() As Long
Dim Count As Long

Count = 1

Do
If Sheet1.Range("B" & Count).Value = "" Then
Exit Do
End If

ReDim Preserve ArrFruit(Count - 1)

ArrFruit(Count - 1) = WorksheetFunction.CountIf(Sheet1.Range("A:A"), Sheet1.Range("B" & Count).Value)

Count = Count + 1
Loop
End Sub



40 名前:17 mailto:sage [2008/10/09(木) 20:54:03 ]
>>17です、いろいろご意見頂き有難うございます。
皆様の意見を参考にし以下のように出来上がりましたが、
もっと短く出来そうな気もしますので、何かありましたらご意見下さい。
---------------------------------------------------------
Sub くだものだもの()

Dim kudamono(10) As String
Dim kazu(10) As Integer
Dim count As Integer
Dim last As Integer
Dim f As Integer, y As Integer

last = Cells(65536, 1).End(xlUp).Row
count = 1

For y = 1 To last
If Cells(y, 1).Value <> "" Then
For f = 1 To count
If Cells(y, 1).Value = kudamono(f) Then
kazu(f) = kazu(f) + 1
GoTo Fruit
End If
Next

kudamono(count) = Cells(y, 1).Value
kazu(count) = 1
count = count + 1
End If
Fruit:
Next
End Sub



41 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:02:03 ]
勤務表を作成しているのですが

 A     B    C  D
始業   終業
8:00   17:00

このような表でCの列に9:00(8時から17時までの実働時間)と表示させたい場合
どのような式をCに入れたらよいのでしょうか?
昼休憩は考慮しなくていいです。



42 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:03:50 ]
>>41
B1-A1
場合によっては書式設定を[h]:mm等にすることも(合計などで、24:00以上を表記させたい場合)

43 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:10:16 ]
小出し申し訳ありません
23:00   1:00 などのように日をまたぐと####になりますが
この対応はどのようにしたらよいでしょうか?
小出しほんとうにすいません

44 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:15:58 ]
>>43
時間はマイナスにできないから
=B1-A1+IF(B1-A1<0,1,0)

45 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:23:58 ]
ありがとうございました。
式の意味はわかりませんが無事できました。
時間はマイナスにできない ってちょっとカッコいいですね。
浪漫を感じます。


46 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 21:27:40 ]
=MOD(B1-A1,1)

47 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/09(木) 22:39:58 ]
>>45
分かりやすく変えると
=IF(B1<A1,B1-A1+1,B1<A1)
つまり終了が開始より前(日付をまたいでる)と、1(24:00)を足し、そうじゃなければそのまま引き算

最近このスレ全体でしき全体をネストするより式の一部をネストする式がはやってるよね
回答者が回答者に即発された・・のかな?


48 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 02:16:47 ]
excelでA4やA3に印刷する時収まりがいい行列の数あるんですか?
いままではなんとなくA4ぐらいかな?って作って改ページやら幅変えたり
して収めてたんですが最初からこんなレイアウトで作り進めばいいって感じがあるんでしょうか?
100%時、1セル縦横何ミリとか決まってますか?


49 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 02:23:48 ]
>>48
決まってません

50 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 03:43:00 ]
Excel2007の印刷プレビューで罫線が出なかったり太かったりするのは仕様ですか?
拡大⇔縮小で全然見た目違うしクリックした場所で変わったりするし
まるでプレビューにならんのですが…orz



51 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 04:20:41 ]
>>50
仕様です
Excelで印刷物を作るなら避けられない宿命です

>>48
改ページプレビューや
メニュー⇒印刷範囲の設定
などいじってると少し対処が見えてくるかも


Excelは「文書作成」ではなく「表計算」ソフトだから
成果物が紙ベースなのにExcelで作るなら
それなりの不便さと対処方を身につけないといけません

52 名前:名無しさん@そうだ選挙にいこう [2008/10/10(金) 07:12:12 ]
複数のセルを囲むと合計数が表示されるオートSUM機能がありますが、これを
任意のセルを囲むと、たとえば(合計数+4)÷2の結果ができるように
変更することはできないのでしょうか?
突然ですが、どうしても解からないので御助言よろしくお願いします。

53 名前:名無しさん@そうだ選挙にいこう [2008/10/10(金) 07:25:13 ]
>>52
できないよ

54 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 07:42:12 ]
>>52
右下に出る奴ならオートカルクだよ
アレは合計・平均とあとなんか。ぐぐればすぐに見つかる

55 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 09:30:48 ]
>>53

普通に出来るだろw

56 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 10:13:54 ]
>>55
>普通に出来るだろw
だったらやり方書いとけww

57 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 10:35:29 ]
ぐぐってみたけどわからん。とりあえず代替案

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 For Each r In Selection
  合計数 = 合計数 + r.Value
 Next
 Application.StatusBar = "コマンド  計算結果=" & (合計数 + 4) / 2
End Sub

58 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 14:18:59 ]
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】関数 参照 など
関数で数式そのものを参照することは出来ますか?
B1以降に=A1などの数式が入ってるとき、このA1という値が本当に入ってるかどうか、
作業列などで確認したいのです


59 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 14:43:18 ]
>>58
数式そのものを調べるのはちょっとめんどくさいよ。

調べたい列がB列で、作業列がC列とする。
まずC1セルをクリックして選択→メニューバーから「挿入」→「名前」→「定義」を選ぶ
次に「名前」のところに「suusiki」と入れて、その下の「参照範囲」のところに「=GET.CELL(6,B1)」と入れてOK
最後にC1に =ISNUMBER(FIND("A1",suusiki)) という式を入れれば、B列の式に「A1」が含まれるかどうかがわかる。

60 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 15:03:22 ]
>>58
書いててリロードしたら先越されてたw
なので少し>>59に補足
作業列の先頭(C1)を選択した状態で名前の定義をすること
それ以降のセルに書く場合は定義した定義した名前は変更しなくてよし



61 名前:60 mailto:sage [2008/10/10(金) 15:04:56 ]
訂正
×それ以降のセルに書く場合は定義した定義した名前は変更しなくてよし
○それ以降のセルに書く場合は定義した名前は変更しなくてよし

62 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 17:38:25 ]
>>59
ありがとうございます!


63 名前:名無しさん@そうだ選挙にいこう [2008/10/10(金) 22:46:33 ]
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 excel vba worksheets.count
オープンしたブックのワークシート数をカウントして、String型の配列変数に格納したいのだが、いくらシート数があるかわからない場合、どうやって、WSheets()の()の中の数値を決めるのですか?
書き方を教えてください。
'******************************
'ファイルを開く
'******************************
Private WSheets() As String
Public Sub Main()
If OpenFile Then

End IF
End Sub
Function OpenFile() As Boolean
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
If OpenFileName <> "False" Then
Workbooks.Open OpenFileName
For i = 1 To Worksheets.Count
MsgBox ActiveWorkbook.Sheets(i).Name
Next i
OpenFile = True
Else
OpenFile = False
End If
End Function


64 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 23:04:00 ]
Yes Takasu Clinic

65 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/10(金) 23:05:33 ]
>>63
シートの数はWorkSheets.Countで求められる。配列のサイズをあとから変更するのはReDim。
つまり
ReDim WSheets(Worksheets.Count)

66 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 00:48:31 ]
24時間で主に15分単位くらいで
観測していて

10月10日
21:00-21:45
23:30-24:00
2:30-5:30

10月11日
23:15-23:30

このようなデータをとっているのですが
これを一日単位で折れ線グラフとして活用したいと思ってます。

      10/10   10/11  10/12  10/13

2:00
1:45           │
1:30      
1:15    │
1:00    │

たとえばこのようにグラフとして活用するための方法をおしえてもらえないでしょうか?
よろしくお願いします。

67 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 01:02:47 ]
>>66
グラフとして活用すればいいんじゃないでしょうか?

68 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 02:28:55 ]
>>66
・どういう形式のデータを取ってるのか分かりません。
何時から何まで、という時間のデータだけですか?
開始終了時刻はひとつのセルに入力されてるんですか?
・主に15分というが、15分おきに24時間とり続けてるの?
・事例がよく分からない。1日の始まりとして定めている時間はいつ?
・1日に何度もデータを取っているのに、横軸が日付で縦軸が時間だと
一般的な折れ線グラフとして書けないと思う。どういうのを考えてるの?


69 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 02:57:31 ]
      10/10   10/11  10/12  10/13

2:00    \     | 
1:45     |    │
1:30    /      \
1:15    \       \
1:00      \      /

こういうの想像した、無理っぽい気がする。

70 名前:名無しさん@そうだ選挙にいこう [2008/10/11(土) 03:27:29 ]
正方形の中に1本だけ対角線を引き、できた片方の三角形に数字、もう片方の三角形に「月」などの文字を入れ
曜日付きの日付みたいな欄を作りたいのですが、うまくいきません。
どうやるのが一番スマートでしょうか?
(後々、第三者が数字部分などを書き換えて使いまわしできるようにしたいです)



71 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 03:30:39 ]
>>70
オートシェイプとテキストボックス

72 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 04:52:31 ]
Excelってなんでこんな何年も言われてる機能付けないの?馬鹿なの?死ぬの?

73 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 07:02:50 ]
>66
絵を見ていたら、「株価チャート(グラフウィザードの左上の絵)」に一番近いので、
元データを株価チャートに対応するように加工したらどうですか?
ただし、株価チャートには短い横棒がくっつくので目障りか。

どうしても66のような絵にしたいんだったら、VBAでオートシェイプ(直線)を配置する
ように工夫するしかないかな。

まずはbPと2をよく読んでテンプレートに沿って質問を。

74 名前:73 mailto:sage [2008/10/11(土) 07:46:54 ]
株価チャートだと、縦方向にはひとつの縦棒しか表示できないな。
66の絵は元データとずいぶんかけはなれている。10月10日の分は
3件の時間帯があるのに、ひとつの縦棒だけ。
もっと具体的に元データと、ほしい結果の絵を示してもらわないと無理。

それか、セルをグラフの画素のように使う方法ならいろいろできるかも。

75 名前:66 mailto:sage [2008/10/11(土) 10:29:24 ]
説明下手ですみませんです。
色々な回答をしていただきありがとうございます。

見本をつくってみました。まだわかりづらいかとは思いますが・・
www.uploda.org/uporg1718629.jpg.html

こういうことがしたいというだけで
グラフの形、項目の場所(行、列)などはあまり考慮してないです。

青で塗りつぶしてるエリアはデータ部分です。(1画面で見やすくするためにここに置いてます)

〜やりたい事〜
・同日にとびとびの時間を記録している
・同日の観測地点ごとに記録してある開始時間〜終了時間までをグラフ化したい
・同日に観測地点が複数でる
・観測時間が重複?することがある(10/1茨城の部分のような感じ)

よろしくお願いします。




76 名前:66 mailto:sage [2008/10/11(土) 10:31:35 ]
書き忘れました

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ 集計 などで検索しましたがあまり効果的ではなかったので
主にできる大事典などの書籍で調べてます


77 名前:73,74 mailto:sage [2008/10/11(土) 11:17:30 ]
>75,76
自分の今の技術だけだと74で書いた「セルを画素として使う方法」がいいみたい。
アップローダを使ったことがないので画面イメージは下記を参考にしてください。

1:2 の高さ 40
3〜  の高さ 10
A列の幅  7
B列の幅  2
C列の幅  0.5
D列の幅  2

A3:A4をセル結合、以下A5:A6、A7:A8・・・というようにセル結合
A3セルには 00:00 と文字で、以下下方向に00:15、00:30、00:45、01:00・・・と入力

B1:D1の横3列分を結合、E1:G1、H1:J1・・・というようにセル結合
同様にB2:D2、E2:G2、H2:J2・・・というようにセル結合

B1セルに'10/1を入力、B2セルに茨城を入力
C10:C25セルを黒に設定→0:45〜2:45の時間帯に黒い縦棒が現れる。

もしくは、縦棒をセルの罫線(左、右どちらか)にしてもいいかな。
横方向は同一日で複数の箇所があったら3セル分ずつ右側にずらしていけばいい。

78 名前:名無しさん@そうだ選挙にいこう [2008/10/11(土) 13:32:47 ]
ちょっと質問シテクダサイ

えーとタトエバ
・Aでハジマルのかどうか

・Bでオワルのかどうか
というフタツのジョウケンをカンガミタ時
でてくるコタエは4通りあるだと思うます
それはスナハチ
1.Aではじまるダケ
2.Bでおわるダケ
3.AではじまってBでおわるダケ
4.AではじまないしBでおわらいダケ

そこでこれをEXCEL計算式にしようとしたら
コマカイ部分はハシオリますが
IF(Aではじまるか,IF(Bでおわるか,3,1),IF(Bでおわるか,2,4))
きっとこうなるますか?
シカシこの場合だと「IF(Bでおわるか,」という部分がダブルで使われているタメ
なんだかジョーチョウな気がしてします

もっと簡単な短い計算式にはならんのですか?

79 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 14:49:32 ]
Aではじまるか*2+Bでおわるか
でどう?

80 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 15:48:08 ]
>>78
>2.Bでおわるダケ
ハジマリがナイのに、オワリがアルの?
ヘンなジョウケンだね



81 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 16:20:48 ]
>>78
何がやりたいのか、数値や文字列などを具体的に書けば、いろいろな関数を組み合わせて
もっとシンプルな式にできるかもしれない。

あと読みづらい。ちゃんとした回答が欲しかったら普通の日本語で書け。

82 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 16:58:45 ]
>>66
k5をJ6に
B5=IF(AND(A5>$J$5;A5<$J$6);"|";"")
下にオートフィル。これでJ3に日付J4に地域書いて右へ右へ作っていけばいいんじゃないかな
当然この入力欄は別のところに作らないとその内かぶってしまうけど

83 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 17:03:59 ]
>>78
A1がA始まる場合B1に2を足す
A1がBで終わる場合B1に4を足す
じゃなきゃB1
なんて場合
=b1+if(left(a1,1)="A",2,0)+if(right(b1,1)="B",4,0)
って感じ
文字列だと&演算子でつなげるとか

84 名前:83 mailto:sage [2008/10/11(土) 17:04:57 ]
=b1+if(left(a1,1)="A",2,0)+if(right(a1,1)="B",4,0)
でした、失礼

85 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/11(土) 17:34:38 ]
79で答え出てるのに馬鹿がウザい

86 名前:名無しさん@そうだ選挙にいこう [2008/10/12(日) 00:26:01 ]
エクセル2002 ウインドウズxp で質問!

@列を選択
AダイアログBoxに文字を入れ検索
B検索にヒットしたセルの左のセルに*を入力

具体例
@’D列・F列を選択
A’ダイアログBOXに検索したい文字 イロハ を入力
B’ イロハニホ が入力されてるセルD1の左C1と
  アイロノカニ が入力されてるセルF3の左E2に*を入力

この作業のうちAとB(例はA’B’)をマクロで効率化したいと思っています。
詳しい方、コードを教えて下さい m( )m

87 名前:86 [2008/10/12(日) 00:32:01 ]
訂正

×・・・アイロノカニ が入力されてるセルF3の左E2に*を入力
○・・・アイロノカニ が入力されてるセルF3の左E3に*を入力

88 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 04:36:40 ]
イロハを検索してんのに、どうしてアイロノカニがヒットすんの?

89 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 05:50:47 ]
>>86
こんな感じか

Sub aaa()
 Set R = Selection.Find(What:=InputBox("検索文字列"), LookAt:=xlPart)
 If Not R Is Nothing Then
  E = R.Address
  Do
   R.Offset(0, -1) = "*"
   Set R = Selection.FindNext(R)
  Loop Until R.Address = E
 End If
End Sub

90 名前:名無しさん@そうだ選挙にいこう [2008/10/12(日) 12:15:45 ]

質問です。よろしくお願いします。
OSはWin-XP ExcelのVerは2003です。


UserForm上に20前後のTetboxが配置してあります。
フォーカスの位置が分かりづらいために、Focusされている
Textboxの色を変えようとしていますが、色は変わるのですが
focusが外れた時に色を戻すことがどうしてもできません。

まずは、Textbox**_enterでFocusされたボックスの色が変わります。
入力が終わり、次のボックスへFocusが移動すると次のボックスの色も
変わりますが、元のボックスの色はそのままになってしますます。
ちなみに、Exit、及びLostfocusも試したのですがだめでした。

どなたか、ご指導いただけないでしょうか。。。。。
よろしくお願いします〜。。。。

m(__)m






91 名前:90 [2008/10/12(日) 12:19:23 ]

すみません。>>90 です。
一つ書き忘れてしまったので追記です。

TextboxのTabIndexは、上から順番になっていますが、
使う側が必ずも上から順に使ってもらうという想定ではないので
次のTabに移動したら色を戻す設定も失敗でした。

以上、追記です。すみません。よろしくお願いします。

m(__)m



92 名前:86 [2008/10/12(日) 12:53:18 ]
>>89
ご回答ありがとうございます!火曜から仕事が楽になります!

欲張りな質問で恐縮ですが
全角・半角区別なく検索し、横のセルに*をつけることは可能でしょうか?



全角または半角のイロハで検索→全角と半角のイロハにヒットし、隣のセルに*

93 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 14:10:44 ]
pc11.2ch.net/test/read.cgi/tech/1219673793/496

94 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 20:16:32 ]
>>70
後々のメンテナンス考えたらセルの書式だけで片付けるのがいいかも
A1からB2をひとマスと考えれば
A1からB2の全体に外枠を付けて四角形にする
B1とA2には斜線も入れる(A列とB列は列幅を同じにしておく)
文字入力はA1とB2で

後は全体の書式設定上手にやればそこそこの見栄えになる

95 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 21:38:06 ]
>>90
普通に出来るけど
例えばこんな感じ
TextBox1_Enterイベントに
TextBox1.BackColor = RGB(0,0,0)を
TextBox1_Exitイベントに
TextBox1.BackColor = RGB(255,255,255)
で出来ないかい?

96 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/12(日) 23:14:38 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 全く分かりません
【4 VBAでの回答の可否】 非
【5 検索キーワード     】 エクセル 列 高さ

Sheet1の1から20行までのA列とB列を罫線で囲んでいます。
1から10までは行の高さを20、11から15はに設定しています。(各セルにはデータを入力してます)
同じサイズのセルを、同一Sheet内に限界まで縦に作りたいのですが、どうすれば良いですか?
(一番左上には連番を振りたいです。)

ちなみに、コピーして貼り付けをするとデータは保持されるのですが、行の高さが保持されておりません。
「形式を選択して貼り付け」も考えましたが、もっと効率の良い方法を探してます。

よろしくお願いします。

97 名前:90 [2008/10/12(日) 23:18:30 ]

>>95さん ありがとうございます。

簡単なシートを別に作成してやってみました。
確かにおっしゃるとおり普通に動きますね〜。。。。
どうやら原因は当方の別にあるようです。

どうもお手数をおかけしました。何とか原因を見つけて見ます。
ありがとうございました。m(__)m



98 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 00:10:30 ]
>>96
今パソコン立ち上げてないから自信ないけど
(C列以降はデータがないとして)セルではなく行を選択してからコピー貼り付けでも駄目?

連番に関してはA1に
=(ROW()-1)/20+1

99 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 00:18:22 ]
>>96
限界まで選択して右クリック→行の高さ

100 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:06:24 ]
フィルタの詳細設定で、セルに指定した検索条件から該当行の抽出を行いたいのですが、

日時
2008/9/29 22:50
2008/9/29 22:55
2008/10/2 21:10
2008/10/2 23:31
2008/10/3 21:20

のような行の場合に、

日時
2008/10/*

2008/10*

のように検索条件を入力して、10月の行を抽出したいのですが、うまくいきません。
日時以外の列で違う値を指定すると抽出出来るので、
日時の検索条件に間違いがあると思い検索条件を錯誤してみましたが分かりませんでした。。
お分かりになる方おりましたら教えて頂ければ幸いです。



101 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:15:25 ]
>>100
日時がシリアル値なら「39722以上」かつ「39753未満」で10月が抽出できる

102 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:20:33 ]
>>100
シリアル値に慣れないうちは
2008/10/01以上
AND
2008/11/01未満
と打ち込んだ方がいいかも

っていうか私は今でもそうやってる

103 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:36:58 ]
WinXPでExcelは2007です。質問ですがお願いします。
="a"+(B1) のような感じで、A1のセルに、
先頭に指定の文字列+B1の値を入力したい場合はどうすればよろしいでしょうか。

104 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:51:36 ]
>>101,102
シリアル値にして検索に当たるようにする方法というのもあるのですね。
慣れない内はそのようにさせて頂きます。レスどうもありがとうございます。

105 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:58:08 ]
>>103
そういう場合は+じゃなくて&を使えばおK。

もしくは書式設定で"文字列"@といれても

106 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 01:59:48 ]
>>103
="a"&B1


107 名前:103 mailto:sage [2008/10/13(月) 02:00:32 ]
自己レスです。
後方では =(B1)&"a"で出来たのですが、
先頭にやる方法をご存じの方教えて下さい(´・ω・`)

108 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 02:01:23 ]
>>105,106
ありがというございます!感謝!!

109 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 02:53:19 ]
(;´Д`)ハァハァ

110 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 18:48:15 ]
質問です。A20〜A100の中にデータの入ってるセルは何件あるかを
A15に表示させたいのですが、どのように入力すれば良いでしょうか。
EXCELは2007です。



111 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 18:58:51 ]
=COUNTA(A20:A100)

112 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 19:03:16 ]
>>111
感謝です。どうもありがとうございます。

113 名前:77 mailto:sage [2008/10/13(月) 19:59:36 ]
>76  観測データのグラフ化の件
遅くなりましたが、セルを塗りつぶす方法(bV7で示したシート利用)で作ってみました。
データシートにはA列:日付、B列:観測地点、C列:観測開始時刻、D列:観測終了時刻で
2行目から記録してください。長いので2レスに分けます。
Option Explicit
Dim TATE As Long, RETU As Integer
Dim SAVE_DATE As Date, SAVE_CHITEN As String
Dim WORK_DATE As Date, WORK_CHITEN As String
Dim WORK_TM_S As Date, WORK_TM_E As Date
Dim ST_G As Excel.Worksheet, ST_D As Excel.Worksheet
Sub 図作成()
Set ST_G = Worksheets("Sheet1") 'グラフ用シート
Set ST_D = Worksheets("Sheet2") 'データシート
ST_G.Activate
TATE = 2
SAVE_DATE = 1
SAVE_CHITEN = ""
RETU = 0
Do
WORK_DATE = ST_D.Cells(TATE, 1).Value
WORK_CHITEN = ST_D.Cells(TATE, 2).Value
WORK_TM_S = ST_D.Cells(TATE, 3).Value
WORK_TM_E = ST_D.Cells(TATE, 4).Value
Call PROC1
TATE = TATE + 1
If Not IsDate(ST_D.Cells(TATE, 1).Value) Then
Exit Do
End If
Loop
Set ST_G = Nothing
Set ST_D = Nothing
End Sub

114 名前:77 mailto:sage [2008/10/13(月) 20:02:02 ]
Private Sub PROC1()
Dim TATE_S As Long, TATE_E As Long, YOKO As Integer

If (WORK_DATE = SAVE_DATE) And (WORK_CHITEN = SAVE_CHITEN) Then
Else
RETU = RETU + 1
ST_G.Cells(1, RETU * 3 - 1).Value = WORK_DATE
ST_G.Cells(2, RETU * 3 - 1).Value = WORK_CHITEN
End If
YOKO = RETU * 3
TATE_S = Hour(WORK_TM_S) * 8 + Int(Minute(WORK_TM_S) / 15) * 2 + 4
TATE_E = Hour(WORK_TM_E) * 8 + Int(Minute(WORK_TM_E) / 15) * 2 + 3
Range(Cells(TATE_S, YOKO), Cells(TATE_E, YOKO)).Select
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
End Sub
1行目のセル書式は、日付(月/日)としておいてください。

115 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 22:07:37 ]
質問です。

A列とB列の数値を参照して
B>Aだった場合のB列のセルを装飾(塗りつぶし等)したいのですが、
どうやったらいいでしょうか?
Excelのバージョンは2007です。

116 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 22:14:53 ]
>115
セルの塗りつぶしだったら、操作の記録をしてみてどのようなマクロができるのか見ればいいですよ。
ちなみに、すぐ上の114のレスにセルの塗りつぶしのコードがあります。

117 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 22:15:47 ]
OSはビスタです。
すでに2007のExel、Wordが入っていますが、使いづらいので
以前使っていた2003のでやりたいんですが、変えられるんでしょうか?
できるのであればやり方を教えてもらえないでしょうか?
今までそういった質問はあったかと思いますが、お願いします

118 名前:116 mailto:sage [2008/10/13(月) 22:41:28 ]
>115
マクロじゃなくて、セルの「条件付書式」が簡単だった。
ヘルプで調べてみるとわかると思います。
自分はエクセル2007を持ってないので誰かお持ちの方、回答どうぞ。

119 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 22:50:52 ]
>>117
できません

120 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/13(月) 23:10:12 ]
>>117
ttp://www.vector.co.jp/soft/winnt/business/se455668.html
メニューバーのことかね
有料版しか見つからなかったが、無料版があるなら俺も知っておきたいわ



121 名前:115 mailto:sage [2008/10/13(月) 23:15:48 ]
>>118
条件付き書式で出来ました。
ありがとうございました。

122 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 00:34:59 ]
1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えないです
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 log 対数 グラフ 表

一つの表(例えば横軸が電圧、縦軸が抵抗のような表)を用いて、
横軸が対数・縦軸も対数のグラフを作りたいのですが
レイアウト→主縦軸→対数目盛で軸を表示
で縦軸は対数のグラフにできたのですが、横軸を対数に取ることができません。

可能なやり方がわからないので、助言お願いします。

123 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 01:08:06 ]
>>122
グラフの種類を『散布図』にすれば横軸も対数に出来ますよ

124 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 01:18:44 ]
>>123
完璧です。今までただの折れ線でやってました。
ありがとうございました。

125 名前:名無しさん@そうだ選挙にいこう [2008/10/14(火) 05:02:07 ]
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

すみません初歩的かもしれませんが
エクセルで挿入した図に○(丸)で印をつけたいのですがうまくいきません。
図形描画ツールバーの楕円を選択すると、画像がくりぬかれて楕円の中が白くなってしまいます。
しょうがないのでオートシェイプ→フリーハンドでやっているのですが、線が細くて見づらいです。
出来れば太くて赤などの目立つ線で丸で印をつけたいのですがどなたか教えていただけないでしょうか。
お願いいたします。

126 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 05:18:17 ]
>>125
その丸を右クリックして、メニューから「オートシェイプの書式設定」を選ぶ。
塗りつぶし - 色 の部分で「塗りつぶしなし」にすると、輪郭線だけになる。
線の色と太さも、同じ画面で設定できる。よく見ればわかる。

さらに、もういちど丸を右クリックして「オートシェイプの規定値に設定」を
選んでおけば、ワンタッチでいくつでも赤丸を作れるようになる。

127 名前:125 mailto:sage [2008/10/14(火) 05:33:04 ]
>>126
詳しく教えていただいてありがとうございます。
できました・・・。
助かりました。

128 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 16:17:15 ]
セル参照使ったときに
F1 F5 の値ををオートフィルで F1 F5 F9 F13 … ってしたいんだけど F1 F5 F2 F6 … になってしまう
どうすればいいんだ?

129 名前:GHIN mailto:sage [2008/10/14(火) 16:41:30 ]
よこからすみません。
エクセル2007についての困っている事があります。
何方か教えて頂ければと思います。
ドーナッツグラフを作成した時に、系列が2つ以上ありますと2個以上の切り出しが出来ません。
2003の時には普通に手動で移動していたのですが、2007ではこの機能は無くなってしまったのでしょうか?
よろしくお願い致します。

130 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 16:55:26 ]
>>128
F9まで入れてオートフィル

>>129
ttp://office.microsoft.com/ja-jp/outlook/HA102155721041.aspx#CreateDoughnutChart
2007持ってないけどググったらすぐ出てきた
ここに載ってる情報ではできないのか?



131 名前:130 mailto:sage [2008/10/14(火) 17:05:24 ]
よく読んでみたらセル参照の場合か・・・
上は取り消す
代案として参照先を計算で出してINDIRECTを使う案を提案しとく

132 名前:GHIN mailto:sage [2008/10/14(火) 17:14:00 ]
>>130
ご返答有難うございます。
このサイトは見させていただきました、しかし系列が1つの場合はこれで良いのですが、
2つ以上ですと、2つしか切り出せないのです。
よろしくお願いいたします。

133 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 17:34:09 ]
>>128
A1=INDIRECT("f"&1+(ROW()-1)*4)
あとは下にオートフィル


134 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 18:18:01 ]
>>128
「=F1」「=F5」みたいな式が入ってるとうまくいかないけど「F1」「F5」っていう文字列なら次は「F9」が入るから
あとで置換すればいい。

135 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 19:35:56 ]
相対参照で入力されているセルを、相対参照させずに絶対参照っぽくコピーする方法を教えてください

136 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 19:49:29 ]
>>135
ダブルクリックかF2を押して編集モードにした後、数式バーの中をコピペ
若しくは一度絶対参照にした後、「$」を「」(何もない文字列)に置換


137 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 20:24:34 ]
オートシェイプの○と棒を使って人の形を作ったとします。
これを一気に動かせるようにしたいです。方法はありますか?
これを動かそうとすると、○と棒を1つ1つ動かさないといけないです。

138 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 20:27:11 ]
>>!37
ctrl押しながら一個一個クリックしていって右クリ→グループ化


139 名前:137 mailto:sage [2008/10/14(火) 20:33:31 ]
てんきゅー

140 名前:名無しさん@そうだ選挙にいこう [2008/10/14(火) 21:09:30 ]
2005-1-2
1-3
2-3
3-4
4-5

これらを全て自動的に2005として認識させるのは難しいですか?
ge.mm.ddで表示してるのですが。
入力を毎度年数入れるのは面倒くさいなあと思いまして。
そのためにセルを分けるというのもイマイチだなって思いながら結局全部手入力してるのですが。

何か賢い解決方法があるのでしょうか?



141 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 21:17:40 ]
>140
パソコンの内部時計を2005年にする。終わったら戻す。

142 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/14(火) 21:25:23 ]
>>140
VBA使えば一括変換可能
VBAイベント使えば入力時に2005年に自動変換可能

詳しい環境情報(>>1★4)など書いてないので、こちらも詳しい話は伏せる

143 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 00:02:00 ]
>>140
この式を作業列に入れてオートフィルすれば一気に変換できる
=DATE(2005,MONTH(A1),DAY(A1))

144 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 01:05:53 ]
>>131,133
こういう式でできるのか。ありがとう

>>134
こっちのほうが簡単そうだけどREPLACEなのかSUBSTITUTEなのかよく分からないorz
具体的な数式書いてもらえないかな?

145 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 01:28:54 ]
>>144
検索メニューから手動で「F」を「=F」に置換すれば文字列が数式に自動的に変わってくれる。

146 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 08:47:36 ]
>>145
=if(F1="",1,0)
とか書いてあったらどうする?w
できなくはないだろうけど
数式に置換なんて使うと変更する時も面倒だと思う

147 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 09:16:06 ]
それこそ「=F1」「=F5」だけの数式なら>>134のやり方が一番早いだろうに
否定するほどの悪いやり方でもなかろう


148 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 09:33:20 ]
>>146
そもそもその式だと思ったようにオートフィルができない。最後の0がどんどん増えていくことになる。
余分な数字があるとだめだから「IF(F1="",」までにとどめてオートフィルしたあと、「,」→「,1,0)」、「I」→「=I」の順に
2回置換すればできることはできる。
べつに、置換が面倒だと思ったらROW()を使うなり作業列を使えばいいだけのこと。
臨機応変に一番手間のかからない方法を選べばいい。

149 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 09:39:45 ]
>>148
お前、あたまいいな

150 名前:144 mailto:sage [2008/10/15(水) 11:57:53 ]
できた、すげえ
何でも関数ってわけじゃないんだな。発想力が大事か
みんなありがとう



151 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 12:31:22 ]
【1 OSの種類             .】 WindowsXP
【2 Excelのバージョン    】 Excel2002
【3 VBAが使えるか      .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード       】 複数の条件に合うデータを合計する
下記のような基礎データ表があります。
曜日|店名|品名|金額
月曜|A店|食品|\500
火曜|B店|雑貨|\200
水曜|C店|食品|\250
木曜|A店|雑貨|\600
金曜|B店|食品|\800
土曜|C店|雑貨|\350
日曜|D店|食品|\200
 ・ | ・ | ・ | ・ 
 ・ | ・ | ・ | ・ 

上表の曜日・店名・品名が全て合致する項目ごとに金額を合計した下記のような集計表を作りたいのですが、どのような数式にすればよいでしょうか。
店名|品名|月曜|火曜|水曜|木曜|金曜|土曜|日曜
A店|食品|\500|   |   |   |   |   |   
A店|雑貨|   |   |   |\600|   |   |   
B店|食品|   |   |   |   |\800|   |   
B店|雑貨|   |\200|   |   |   |   |   
C店|食品|   |   |\250|   |   |   |   
C店|雑貨|   |   |   |   |   |\350|   
D店|食品|   |   |   |   |   |   |\200
 ・ | ・ | ・ | ・ | ・ | ・ | ・ | ・ | ・ 
 ・ | ・ | ・ | ・ | ・ | ・ | ・ | ・ | ・ 

なお検索した結果、「DSUM」を使えば良さそうかと思いましたが、一項目だけを検索するのではなく、上記のようにすべての項目を列記したいのでどのようにすればよいのかわかりません。
また、ピボットテーブルを使えばいいのではないかとも思いますが、ピボットテーブルに不慣れな上、実際には集計表にその他のデータも盛り込むため、ピボットテーブルはできれば使いたくありません。
よろしくお願いします。

152 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 12:52:05 ]
>>151
>>他のデータも盛り込むため、ピボットテーブルはできれば使いたくありません。

何で?
他のデータを盛り込むのがピボを使わない理由になるのか?

あと検索キーは「複数の条件」と「合計」だな。

153 名前:151 mailto:sage [2008/10/15(水) 13:00:02 ]
>>152
ピボットテーブルに不慣れだからです。
そもそも簡単なピボットテーブルを作成すること自体が良くわかってない上に、そこに他のデータを割り込ませるとなると手に負える気がしません。
なんとか関数で処理したいのです。
よろしくお願いします。

154 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 13:01:27 ]
>>151

SUMIFS はつかえるか?

155 名前:151 mailto:sage [2008/10/15(水) 13:04:30 ]
>>152
連投すみません。
>あと検索キーは「複数の条件」と「合計」だな。
これで参考になりそうなものが引っかかりました。
ありがとうございました。

156 名前:151 mailto:sage [2008/10/15(水) 13:07:00 ]
>>154
度々すみません。
「SUMIF」は使えますが、複数条件だとどうしていいのかわかりませんでした。
もし解決策があるようでしたら、参考までにお教えいただければありがたいです。
よろしくお願いします。

157 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 13:09:53 ]
慣れはあるだろうけど、たぶんピボット作ってgetpivotdata使うのが一番楽なんじゃねーかな
どーせそのまま印刷したいとかの糞レイアウト処理までやるんだろうし

158 名前:151 mailto:sage [2008/10/15(水) 13:11:24 ]
>>154
またまたすみません。
「SUMIF」ではなくて「SUMIFS」なのですね。
残念ながら2002なので使えないようです。

159 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 13:55:07 ]
条件が複数あることで躓いてるなら、条件を1つにまとめれば(連結すれば)良いだけ
「複数条件の合計を出す式」のみに執着せず、もっと多角的な考察力を付けよう

160 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 14:14:00 ]
>>151
店名(昇順)・品名(降順)で並び替え
E1-K1に月曜〜日曜
E2に=IF($A2=E$1,$D2,"")
あとは右と下にオートフィル
最後にA列を非表示にでもすればok

例程度ならいけるけど、条件が複雑になると対応できなくなりそう



161 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 14:54:18 ]
>>160
それだけでは集計できてないと思われる件
1週間分しか例を示してないけど2週間分以上あると考えてもいいのかな?

162 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 17:28:08 ]
OpenOffice.org3は、Windows98やMeには入らないのかな?
インストールしようとしたらエラーメッセージが出てしまった。

163 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 17:30:04 ]
>>162
ぐぐったら一発
OpenOffice.orgは14日、オフィススイートの最新バージョン
「OpenOffice.org 3.0」をリリースした。OpenOffice.orgの公式サイトから無償でダウンロードできる。対応OSはWindows Vista/XP/2000、Mac OS X、Linuxなど。

164 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 17:30:41 ]

【1 OSの種類         .】 Windows Vista HomeEdition sp1
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ttp://gigabyteserver.com/uploader01/img1234/winplus.jp503.jpg
左の表からグラフを作りたいのですが、F4からG26とH4からI6までが繋がったグラフを作りたいのに
H4からI6のデータが桃色と黄色で表示されちゃっています。
なんとかなりませんか。

165 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 17:44:27 ]
>>165
H4-I6をF27の下にコピー、F27以下非表示にでもするしかない



166 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 17:49:26 ]
>>165
1行じゃなきゃだめなんですね。
わかりましたありがとうございます!

167 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 17:57:03 ]
>>151
めんどくせーけど「DSUM」なんてのもあるよ
なれれば便利な関数なんだけどね

168 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 18:25:32 ]
インターフェースが改悪されてなきゃ2007を勧めるんだけどなあ。
SUMIFの複数条件対応とか便利に強化された関数も多いし。

169 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 18:26:59 ]
DSUMはクリテリアつくるのがめんどうだから
SUMPRODUCTつかうことがおおい でも遅い

170 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 19:06:02 ]
エクセル2000
vba 勉強中
エクセル初心者

セルA1=A社 セルA2=☆☆
と書いてあった場合に(A社.xls)ファイルを作りセルA2の内容を書き込む
(A社.Xls)ファイルが有る場合は上書き
この作業をVBAでやりたいので教えて下さいお願いします。



171 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 19:57:36 ]
>170
「新しいマクロの記録」は試してみましたか?
1 ファイルの新規作成
2 セルを指定して☆☆を入力
3 ファイル名を指定して保存(ファイル名はA社.xls)
後は2の部分と3のファイル名の部分をセル内容からもってくるようにマクロを変更。
ファイル名重複したら確認ダイアログが表示されるだろうけど、[置き換える]を
選べばいいだけの話。(プログラムで確認ダイアログを出さないようにもできる)
なお、マクロを記録するブックは新規ブックではない方がいいですね。

172 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 20:57:46 ]
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルで書いた文章を印刷しようと、プレビューを見たのですが
次ページに「。」が一つだけあり、消そうとエクセル画面に戻ったのですが
どこにも見当たりません
どうやって消せば良いのでしょうか?
ページ設定等で印刷に出ないように出来ますが、毎回そのページだけ飛ばすのが面倒です。
どなたか教えて下さい。


173 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 21:00:17 ]
>>172
下の余白を広げる

174 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 21:01:14 ]
[F5]→"セル選択"→"定数"→OK
でどない?

175 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 21:02:30 ]
>172
印刷プレビュー ではなく、メニューの 表示−改ページ プレビュー は見ましたか?

176 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 21:30:31 ]
言葉足らずですみません
「。」はプレビュー次ページの真ん中くらいにあります

>>174青くなるだけで解決しませんでした
>>175見ましたが、引っ張ってもページ数が増えるだけで解決しません
お願いします

177 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 21:40:24 ]
そのシートでCtrl+Aで全てを選択してDelのあと少しだけデータを書いてプレビューすると
どうなるだろう?

178 名前:175 mailto:sage [2008/10/15(水) 21:43:19 ]
>176
1 本来の印刷頁数は1頁だけになるはずが、2頁になるということですか?
2 "。"がひとつだけ、ということならば、検索で"。"を探したらどうですか?
3 ひょっとすると文字ではなく、図形の○かもしれないので図形描画にして広い範囲をドラッグ
 してみてください。なにか図形が「ひっかかり」ませんか?
4 印刷したい範囲が決まっているのであれば、印刷範囲をドラッグで指定したうえで、
 メニューの ファイル − 印刷範囲 − 印刷範囲の設定 をしたらどうですか?


179 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 21:45:07 ]
>>176
「ページの真ん中」ってのは色々と解釈できるけど、上下?左右?
┌────┐
│    1 .  │
│        │
│        │
│2   3   │
│        │
│        │
│        │
└────┘どこ?

180 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 22:22:03 ]
>>177 「。」は消えますが文も消えます。
>>178
@はい
A検索って右上の質問枠のところを使うのでしょうか?(素人過ぎてごめんなさい)
そのページには一つですが文全体にはたくさん使用してます。
B「図形描画にして」ごめんなさい分かりません
C印刷のときはその様にしてるのですが、毎回めんどうなので、できれば消したいです

>>179 2番の位置です

レス時間がかかってすみません。ひとつひとつ試すのに時間がかかってしまうので



181 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 22:29:49 ]
>>180
その丸を印刷したときの直径は何ミリ?色は黒?

182 名前:178 mailto:sage [2008/10/15(水) 22:33:09 ]
>180
2番の位置です。でわかった。
エクセルの昔からの不具合で、見た目はセル内に収まっているのに、印刷するとはみ出る というのがある。
今回はまさしくそれです。
セル枠(右端)ぎりぎりに 。 がある文章のどこか1文字だけでも削ってみてから印刷プレビューを見てください。
今度は1頁に収まるはず。

183 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 22:37:46 ]
またバカがExcelで書類印刷しようとしてるのか

184 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 22:38:46 ]
皆さんド素人の自分へのアドバイス有難うございました
>>181さんのヒントで解決しました。

結果は句点でしたが、横へのはみ出しが原因でした。
(エクセル画面上では点線内に収まってる)
皆さん本当にお世話になりました。

185 名前:178 mailto:sage [2008/10/15(水) 22:41:00 ]
続きです。
1文字けずってもしかたがないので、
A 右余白をぎりぎりまでせばめる
B 印刷範囲のセルの幅を少し広げる
(印刷範囲がA列からG列までだったとしたらG列の幅を少し広げるということ)



186 名前:名無しさん@そうだ選挙にいこう [2008/10/15(水) 22:44:26 ]
>>178追記有難うございます
全てうまくいきました

>>183わかってるけど言い過ぎw

187 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 22:48:07 ]
関数の質問です


あるセルに

セルA.1 私の名前は西村博之です
セルA2 私の名前は西村博之2です

とあります

そこから私のと です。削除して

西村博之
というのを取り出したいのですが
そういう関数はありますか?

188 名前:お願いします [2008/10/15(水) 22:48:49 ]
A3にできた変数をA3100000までコピペしたいんですがドラッグだけでは
とんでもない時間がかかります。なんとかならないでしょうか。

189 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 22:54:51 ]
>>187
=SUBSTITUTE(SUBSTITUTE(A1,"私の名前は",""),"です","")

190 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 22:54:54 ]
>>188
ctrl + G



191 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 22:57:17 ]
>>188
不可能です。
Excel2000〜2003ではA1〜A65536まで、Excel2007ではA1048576までしかセルがありません。

192 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 23:00:48 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel タブ シート 位置 "上に"

シートタブの位置を上に変更したいのですができますか?
(ブラウザのタブのように上に持って行きたい)

193 名前:188 mailto:sage [2008/10/15(水) 23:07:58 ]
質問の仕方が悪かったので訂正します

A3にできた変数を A4 から A100000 までコピペしたいんですがドラッグだけでは
とんでもない時間がかかります。なんとかならないでしょうか。
excel 2007です


194 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 23:14:33 ]
>>188
VBAなら

sub main()

for i = 0 to 10000

cells(i,,"A").value = cells(i1,"A").value

next i

end sub()

マクロ→ビジュアルベーシックエディタ
追加(だったかな) →新規モジュール
これをこぴぺ  →再生マーク
右上の罰で閉じるとエクセルが面に戻る

195 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/15(水) 23:15:54 ]
>193
当方エクセル2003なので2007とはちょっと違うかもしれないけど

1 A3セルをコピー
2 名前ボックス(セル位置が表示されているところ)にA4:A100000と入力してEnter
 →A4:A100000まで選択された状態になる
3 メニューの編集−形式を選択して貼り付け−値or計算式(お好きなように)


196 名前:195 mailto:sage [2008/10/16(木) 00:01:25 ]
今頃193さんは194さんのマクロを動かそうと悪戦苦闘してるのかな?
Cellsの指定の仕方も、ループ変数が0から始まっているのも、End Sub()も・・・

197 名前:193 mailto:sage [2008/10/16(木) 00:23:31 ]
>>196さん

正解です・・・悪戦苦闘しています。>>195のやり方は2007では
できませんでした。

198 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 00:30:43 ]
正しくは効果?

sub main()
’一番目から1000番目までの変数を作る
for i = 2 to 10000
’A1の値をiの変数版目のA列のセルに入れる
cells(i,,"A").value = cells(1,"A").value

next i

end sub

正しく入ってると所々大文字になるはず
試してはないけど

199 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 00:52:32 ]
EXCEL2007で前バージョンで使える色(セル背景色)がさくっと
選べるテーマってないでしょうか。
色つけただけで互換性云々と前バージョン形式での保存のたびに
出て嫌になってきます。

200 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 01:58:40 ]
WIndowsXP EXCELL2000で最近エクセルの勉強を始めました。

---年-----月-----日付----------
----A-----B-------C-----------------P----------Q----------
4 <2000> <1> <2000/1/1>--------<2000/1/1>
5 <2000> <2> <2000/2/1>--------<2000/2/1>
6 <2000> <3> <2000/3/1>--------<2000/3/2>

A4=年、B4=月を初期値としてP列の毎年1/1をスタートにしたいのです。
つまり2000年2月がスタートなら翌年の2001/1/1になるようにしたいのです
2000年1月スタートで試行錯誤してP列に目的の日付を何とかして作りました

B4=1で1月スタートなら問題ないのですが、B4の月を1月以外(例えば2月)にすると、
P列の翌年以降の1月の日付が<2001/1/2><2002/1/2>…になりました
いろいろと試行錯誤すると、
B4の初期値が1,9,11月の場合は Q4=P4のまま
B4の初期値が2月の場合は Q4=P4-1 (P列に表示される日付の1日前)
B4の初期値が3〜8,10,12の場合は Q4=P4+1 (P列に表示される日付の1日後)
となれば、P列は毎年1/1のスタートに出来ることまでは分かりました。

以上の条件を満たす日付をQ列に作りたいのです。
IF IFの条件分岐を使えばいいのだろうと思いますが、条件が複雑すぎて
これ以上は分かりません。
どうかお願いします



201 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 02:10:59 ]
>>199
2007でテーマに自分で設定できる色は12色、ただし、そのうち6色は変更しない方がいいので
設定できるのは事実上6色だけになります。
つまり、前のバージョンと互換性のある色をすべてセットしておくことはできません。

回避策としては、VBAでパレットを調べて近い色に置き換えるぐらいでしょうか。

202 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 02:27:32 ]
>>200
何がやりたいのか質問の意味がまったくわからん。
そこに書いてある表は、現在の、うまくいってない状態?
だとしたら、どうなって欲しいのか、自分の希望する完成した状態を書いてくれ。

203 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 02:35:31 ]
>>200
もしかして、こうか?

P4に入れる式 =DATE(A4+IF(B4>1,1,0),1,1)

204 名前:200 mailto:sage [2008/10/16(木) 02:49:28 ]
2000/1/1スタートで目的の日付を作りました。それがP列です
これでいいと思ってスタートを2月にしたら、2001/1/2になってしまいました
いろいろと試すと「年」は関係なく「月」だけで3パターンあることが分かりました。
なせこうなるのかは分かりませんが、今はこれが限界なのでこの3つを
B4の条件できりかえてQ列に表示したいのです

2月スタートの場合
----A-----B-------C-----------------P----------Q----------
4 <2000> <2> <2000/1/1>--------<2000/2/1>
5 <2000> <3> <2000/2/1>--------<2000/3/2>
6 <2000> <4> <2000/3/1>--------<2000/4/1>

14 <2000> <12> <2000/12/1>--------<2000/12/2>
15 <2001> <1> <20001/1/1>--------<2001/1/2>←こうなって+1になります
16 <2001> <2> <20001/1/2>--------<2001/2/2>←

205 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 02:56:36 ]
>>204
今、C4とP4には、それぞれどんな式が入ってるのか書いて。

206 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:02:12 ]
Excelの前に日本語覚えた方がよくねえか?

207 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:11:35 ]
C列はDATE(A4,B4,1)で、そこから右は1ステップずつ横に移動して使えそうな
情報として偶数/奇数月、うるう年を判定して、試行錯誤してP行になりました

概算で金利の計算をしたいのです。
ただ計算するだけなら毎月1日で構わないのですが、今は関数の勉強をかねて
1年が365日366日を1/1基準で31日後、29(うるう年は30日後、31日後、30日後…
として1年をなるべく均等に12等分したいのです

C列は表面的に出す数字で、実際の計算の日付は12等分したP列でと思いました。
同じ金額を借りても1/1と2/1のスタートでは翌月以降の利息が違うので
1年をなるべく均等にした方がいいかなと

概算での計算なのでこんなことをしても無意味なのは分かりますけど、
せっかく思いついたので何とかしてみたいのです

208 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:23:59 ]
>>207
やっと何がやりたいのかわかったよ。
Q4に入れる式
=P4+CHOOSE($B$4,0,-1,1,1,1,1,1,1,0,1,0,1)

209 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:29:06 ]
いや、こうかな?
=P4+IF(YEAR(P4)>$A$4,CHOOSE($B$4,0,-1,1,1,1,1,1,1,0,1,0,1),0)

210 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:31:08 ]
>>208
どうもありがとうございました




211 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:37:15 ]
>>207
いや違う。補正するのは翌年以降の1月だけか。
=P4+IF(AND(YEAR(P4)>$A$4,MONTH(P4)=1),CHOOSE($B$4,0,-1,1,1,1,1,1,1,0,1,0,1),0)

212 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:38:09 ]
>>210
早まるな
208と209はたぶん間違ってる

213 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 03:46:38 ]
>>212
>>208で翌年以降は1/1のスタートになるのが分かりました

これで何か問題があればあれば、また隣の列以降で何とかしてみます



214 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 04:22:48 ]
今確かめてみましたが全然違ってました
>>207
適当に答えるのは止めてもらえませんか?

215 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 04:48:05 ]
微弱な電磁波が…

216 名前:195 mailto:sage [2008/10/16(木) 09:11:25 ]
>197
いくらなんでも、2003と2007でこんな基本的なところができないはずはない。
↓はマイクロソフトのエクセル2007の基本の説明ですが、ちゃんと名前ボックスがあります。
office.microsoft.com/ja-jp/2007/FX102135051041.aspx
(A列のすぐ上、A1と表示されているところ)
ここに A4:A100000 と入れれば、この範囲のセルが選択状態になるはず。
ひょっとすると、メニューがリボンに変わっているのでとまどっているのかな?
↑の頁に「貼り付け」ってでているので、▼をクリックしたら「形式を選択して貼り付け」って
出ませんか?

217 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 09:23:05 ]
2007で試してみたら>>195さんのやり方で出来ましたよ

218 名前:162 mailto:sage [2008/10/16(木) 09:45:53 ]
>>163
投稿するスレッドをおもいっきり間違えてしまったみたい。恥ずかしい。
にもかかわらずお答えくださって、どうも有難うございました。

219 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 10:05:07 ]
はい皆さん注目ー!質問ですよー!
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル内 文字列 数える
数える関数はいろいろありますが、そのどれもがセルの数を数える関数になっていて
ひとつのセルの中に指定文字列がいくつあるかを数えることができません・・・

たとえばA1に12000000340000001200000012000000と入力してあった場合に
「12」がいくつあるか(この場合3個)を求めたいんです
もちろん作業列や作業行や作業シートなど使っても構いません
が、12じゃなくても任意の文字列の数が数えたいです
関数だけでできないでしょうか?

220 名前:名無しさん@そうだ選挙にいこう [2008/10/16(木) 10:32:02 ]
>>219

関数じゃしんどくないかい?
VBAならなんとか出来そうだが・・・



221 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 10:45:48 ]
>>219
A2に探す文字があるとして
=(LEN(A1)-LEN(SUBSTITUTE(A1,A2,"")))/LEN(A2)

222 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 10:51:09 ]
>>219
「1111」に「11」が3個含まれてるとしたい場合は
=SUM(IF(EXACT(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1)-1)),LEN(A2)),A2),1))
でCtrl+Shift+Enter

2個としたい場合は
=(LEN(A1)-LEN(SUBSTITUTE(A1,A2,"")))/LEN(A2)

どちらも検索したい文字列(12)はA2にあるものとする


VBAならSplitしてUBound調べれば一発だな
InStrをループで回したほうが確か速かった気もするが、Splitの方が手軽

223 名前:困っています。 [2008/10/16(木) 11:13:48 ]
教えてください。

仕事でエクセルを使用していますが、URLやメールアドレスの入力では無いのに、
勝手にハイパーリンクが入ってしまいます。

ネットでも色々調べましたが、URLやメールアドレスを入力すると勝手に
ハイパーリンクが入る件については対処法が有りますが、空白のセルにも
ハイパーリンクがいつの間にか入っています。

全部のセルに入る訳でも無く不規則に入ります。
(空白セルに入ったり既に入力済みのセルに入ったり)
調べてみますとリンク先は全て同じ様です。
そのセルをクリックするたびにリンク先が開いてしまい困っています。

新しいブックを開いた時は、もちろんハイパーリンクは一切入っていませんが、
作業を進めるうちに、またいつの間にかハイパーリンクが入っています。
対処法をご存知の方、是非ともお教えください。

宜しくお願い致します。

224 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 11:20:20 ]
>>223
前に誰かが作ったシートからデータだけ削除して再利用してるのでなければ、マクロかウィルス。
ウィルスなら、そのリンク先のURLで検索すれば情報が得られるかもしれない。
自分の仕事に関係のあるアドレスならマクロの誤作動か、存在を忘れてる。

225 名前:困っています。 [2008/10/16(木) 11:31:17 ]
224様
ご回答有り難う御座います。
リンク先は仕事に関係のあるアドレスです。
ただ、シートからデータを削除しての再利用では無く、
全く新しいブックで使用しても、いつの間にか同じ現象になります。
マクロの誤動作・・・
その誤動作をしない様にするにはどの様にすれば良いのでしょうか?
すみません。勉強不足で。
どうぞ宜しくお願い致します。



226 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 11:40:27 ]
まずはエクセルのバージョンを書け

227 名前:困っています。 [2008/10/16(木) 11:50:24 ]
エクセルのバージョンは2002です。

228 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 11:56:55 ]
>>225
いつの間にかってことはマクロだった場合ショートカットかが登録されてるかもしれないな・・・
とりあえずAlt+F8でマクロの一覧出して
マクロがあるなら1つ1つ選択→オプションを繰り返してショートカットがないか確認する

VBAを弄ることになるなら組んだやつに聞きながらやる必要があるし
下手なことは言えん

229 名前:219 mailto:sage [2008/10/16(木) 13:43:07 ]
>>221さん、>>222さん
ありがとうございます!
その関数を見るだけで目からうろこが落ちるようです
そういう工夫があるんですね

ついでといっては申し訳ないのですが
任意の文字列が連続している最大or最小の個数というのは無理でしょうか?
たとえば1212121200000000123400001212から「12」は
最大で4連続、とか、最小で1連続(単品がある)、とか
関数ではもはや限界でしょうか・・・

230 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 14:05:46 ]
>>229
=MAX(IF(ISNUMBER(FIND(REPT("12",ROW(INDIRECT("A1:A100"))),A1)),ROW(INDIRECT("A1:A100"))))
でCtrl+Shift+Enter

これで最大100連続まで検索する
2カ所ある「A1:A100」の「100」が検索する最大連続回数なので、必要に応じて書き換えるように
このままでは120連続でも100という結果になるが、あまり大きくしすぎても式が重くなる



231 名前:>>170 mailto:sage [2008/10/16(木) 15:13:14 ]
>>171さん
回答ありがとうございます
「マクロの記録」ってイジレるんですね(;´д`)知りませんでした…試してみます


232 名前:171 mailto:sage [2008/10/16(木) 18:12:23 ]
>170,231
新しいマクロの記録を行うと、通常、標準モジュール1に記録されます。以降、別の新しいマクロの記録をしても
標準モジュール1に記録されます。
1 新しいマクロの記録をしてみる。
2 [ctrl]を押しながら[f11]キーを押すと、Visual Basic Editorの画面が表示されるので、Module1をダブルクリック
  →マクロの中身が表示される
3 ActiveCell.FormulaR1C1 = "☆☆" と表示されているところを、
  Range("A1").Value = Range("A2").Value に変更 ※左辺の"A1"は実際に値を入れたいセルのアドレスを指定する。
  マクロの記録では ActiveCell.FormulaR1C1 = という表現になってしまうので、こういう風に変えること
4 1行目のSub Macro1() の Macro1 はマクロ名であり、変更出来ます。(途中に空白は入れないこと、日本語でも可)
  実際に何をするマクロなのかをわかるようにしておいた方が後から便利。

233 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 18:18:42 ]
>>232
VBEの起動はCtrl+F11じゃなくてAlt+F11では

234 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 18:25:08 ]
>>232
マクロの操作
Alt + F8
[マクロ] ダイアログ ボックスを表示する。
Alt + F11
Visual Basic Editor を起動する。
Ctrl + F11
Excel 4.0 の新規マクロ シートを挿入する。

くどいようだけどしっかり突っ込むw

235 名前:171 mailto:sage [2008/10/16(木) 18:39:06 ]
>233,234
失礼しました。

236 名前:総務2年生 mailto:sage [2008/10/16(木) 19:06:16 ]
こんにちわ
毎日何百通も見積書を作るのが大変です

    A    B   C   D    E

1  得意先名  品名  数量  金額  

2  釜a田元  組立  一式  2000  【作成】

3  アカマツ  解体  一式  1000  【作成】

4  ====  ==  ==  ====  【作成】
======================================================
以上のようなワークシートのE列のような作成ボタンを押すと
その行の内容が以下のような別シートに見積書として反映される
方法を教えてもらえないでしょうか?
どうかよろしくお願いします!!
======================================================
        お見積書
釜a田元御中
               ○○○○
               担当 山田
合計金額 2,000円
~~~~~~~~~~~~~~~~~~
 内訳
「品名」組立 「数量」一式

237 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 19:29:37 ]
見積番号をつくって、別シートの見積書にVLOOKUPで参照する

238 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 20:46:57 ]
>>236
ボタンを押したら何かするってのはVBA使わないと無理だけどVBAはわかる?

239 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 21:19:20 ]
>236
VBAを使わずに同じようなことをするためのヒント:INDIRECTを利用する。
Sheet1にデータ一覧があり、Sheet2を見積書イメージとする。
(2行目からデータが記録されているものとする)
Sheet2のA1セルに印刷したいデータのある行を設定する。(例として2を入れておく)
Sheet2のA3セルあたりに、以下の計算式を入れる
=INDIRECT("Sheet1!A"&$A$1)&""
そうすると、Sheet2のA3セル(計算式を入れたセル)に 釜a田元 と表示される。

Sheet2の1行目を印刷範囲にせず、2行目以降を見積書のように作成すると、左上隅の
A1セルに入力した番号に対応した行位置のSheet1のデータを引用できる。
品名を表示したいところは=INDIRECT("Sheet1!B"&$A$1)&""のように!の後のアルファベット
を列名のアルファベットと同じものを指定する。

実際に印刷するにはA1に番号を入れては印刷、を繰り返せばいい。

御中を付けたければ、計算式の末尾の 〜&"" の""を" 御中"に変えればいいし、金額
のところは &""をはずしたうえでユーザー書式設定をするといい。
計算式の末尾に&""を付けるのは、データが欠落している場合に0を表示させないために
文字列にするためのものなので、A〜D列すべてデータがある場合は不要。


240 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 21:28:55 ]
とりあえず、質問者はテンプレ使え



241 名前:総務2年生 mailto:sage [2008/10/16(木) 21:33:29 ]
お返事ありがとうございます!!
>>237
ありがとうございます
勉強のとっかかりができました
>>238
VBAですか、「やさしくわかる関数・マクロ」を読み始めたばかりです
>>237さんの教えてくださったVLOOKUPと組み合わせるんでしょうか?

242 名前:239 mailto:sage [2008/10/16(木) 21:49:56 ]
>241
なんか無視されたみたいだけど、239の方法にA1セルの数字をUP、DOWNするボタン2個
加えて、ボタンで簡単なマクロを動かすこともできます。自分はハガキの宛名印刷を
これでやってます。ちなみに数字をUPさせるボタンのコマンドはこれ。
Private Sub CommandButton1_Click()
With Worksheets("Sheet2")
.Range("A1").Value = .Range("A1").Value + 1
End With
End Sub


243 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:20:30 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Googleやヘルプでの検索キーワード 重複

困っております、教えを乞いに参りました。
シート1に下記のデータがあります(実際は1,000行ほど)。
__A_|__B__|
500_|_東京
700_|_東京
700_|_東京
700_|_埼玉
ざっくりいって重複をなくしたいのですが少々条件がありまして、上の図でいうと
1、2(3でもいいわけですが)、4行目を残したいのです。データを色々と加工していくマクロの
一部分なんですが、初めA列の重複だけを考えればよいと言われ、Dictionaryのキー(がユニーク
じゃないとエラーがでる)を使ってたんですが、B列も考慮に入れることになったのです。
つまり、同じ700でも東京と埼玉があれば同一とはみなさずどちらも残す、という条件がつきました。

今は、シート1をループでなめていって、1行目(500,東京)は初出なので
シート1には何もしない、2行目(700,東京)は初出なので何もしない、3行目(700,東京)は
既出なのでこの行削除、4行目(700,埼玉)は初出なので…とやっています。800行目にまた
(700,東京)が出るかもしれなく、そのとき既出かどうか判断するために、隠しシート2に
__A_|__B__|__C_|
500_|_東京|____
700_|_東京|埼玉
といった表をつくって、これを参照して、とかしていますが、作っていて効率が悪いというか
カッコ悪いコードだなあと感じてしまいます。削除行を配列でもって後ろから削除していく、の
ほうが速いのかとも思いましたが、根本的な重複チェックの仕方が洗練されてないという悩みです。


皆さんならどういう解法をとられますか。ご教示ください、お願いします。

244 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:30:53 ]
>>241
VBAの場合はVLOOKUP使う必要はない
あと、そういうのをVBAでやる場合は、ボタンをズラーっと並べるより
Worksheet_BeforeDoubleClickイベントでも使う方がスッキリするよ

その本はVBA勉強するにはちょっと浅いけど、この程度のことならその本の知識だけでもどうにかなるだろ

>>243
>>159とかDictionaryを二段構えにするとか、隠しシート使う方法を
隠しシートではなくDictionaryと配列にするとか

245 名前:総務2年生 mailto:sage [2008/10/16(木) 22:40:45 ]
>>239
>>242
ごめんなさい すいません 申し訳ありません
>>237さんと>>238さんのアドバイスに沿ってググッたり本を開いたりしていてレス(書き込み)までのタイムラグがあったみたいです
決して無視するなんてもったいないことはしませんから!!!!!!!!
寝る前に開いたらビックリしました
かってなんですが明日は3時半に起きないといけないので勉強は明日にします


246 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:43:15 ]
>>243
C1に=A1&B1と入れてCtrl押しながらオートフィル。C列から重複行を削除。必要なら最後にC列を削除。
ttp://office.microsoft.com/ja-jp/excel/HA010346261041.aspx

247 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:47:48 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 凡例 一部非表示

A,B,Cという要素をグラフにプロットするのですが、凡例にはCは表示させず、ABのみを表示させるには
どのようにすればよいかご教授ください。

248 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:49:58 ]
消したい凡例を右クリックしてクリアを選択

249 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:53:21 ]
>>248
こんな簡単な・・・ありがとうございました

250 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 22:55:33 ]
>243
246さんではありませんが、
246の処理にもうちょっと追加をしてより便利に。
もうひとつ作業列(D列)を追加、データが2行目からあると仮定して
D2列には=IF(D2=D1、"重複"、"")と入力して下へコピー。
2行目からデータ最下行までをC列をキーとしてソートすると、重複行のD列に
重複と表示される。
あとは簡単なマクロで重複行を削除することができる。



251 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 23:01:39 ]
>>250
そんなに作業列を増やさなくても
C1=(A1&B1)=(A2&B2)
だけでいいじゃん。で、TRUEを削除。

252 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 23:10:33 ]
>251
A列とB列でソート済みの状態に最初からデータが並んでいる(もしくは並べ替えをしてから)
という前提ならばYESでしょうが、243さんの質問には並びのことは(少なくともA列を除
いて)書かれていません。


253 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 23:13:50 ]
>>243をよく読むと、元のデータはソートされてない。(800行目にまた… と書いてある)
よって>>250>>251も使えない。

254 名前:250 mailto:sage [2008/10/16(木) 23:18:20 ]
>253
250をよく読んでください。

2行目からデータ最下行までをC列をキーとしてソートすると

って書いているんですけど。

255 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 23:24:27 ]
>>254
ソートすれば処理が簡単になるのに、質問者はソートせずに別リストをわざわざ作ったり、かなり苦労している。
つまりデータの並び方に意味があるってことだから、勝手にソートしちゃまずい。

256 名前:250 mailto:sage [2008/10/16(木) 23:29:09 ]
>255
では、もうひとつ作業列をつくっておいて、ソート前の状態で一連番号を振っておいて
重複行削除の後に一連番号の列をキーとしてソートすればいいですね。
ところで243さんは見ているのだろうか?

257 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/16(木) 23:34:31 ]
ソート前提ならA列B列でソートして>>251のが簡単だな

258 名前:243 mailto:sage [2008/10/17(金) 00:00:21 ]
皆様、レスありがとうございます!

>>>159とかDictionaryを二段構えにするとか、隠しシート使う方法を
>隠しシートではなくDictionaryと配列にするとか
私の頭では無理そうですが、ふさわしい状況がきたときに使えるようになっておきたいと思います。
こういう方法がある、という引き出しが増えてありがたいです。

あとオートフィル的な部分、すっかり忘れておりました。
当初のA列だけ考慮に入れるマクロがほぼ出来たところで仕様追加になったので、なんとかそれを
改造して簡単に済ませようとして逆にはまってしまいました。

教えていただいた方法を、私の引き出しに入れさせていただきます。
ありがとうございます。
このスレのやり方のほうが早いですね。その方針でやってみたいと思います。

>ソート前の状態で一連番号を振っておいて
これいいですね。
後出しになってしまい申し訳ないのですが、>>243の最初の表はいくつかの事業所の表を
追加していったもの?なんです。で、並びを崩さないで、と言われていたというのを書き忘れてしまいました。
すみません。本当は数字の意味を知った上で自動化しなければいけないのは分かっているのですが。

なんで並びを崩さないほうがいいのかとかをヒアリングして作ればいいのでしょうが、依頼者が面倒な人
なのでもう言われたままに作って早いところ渡してしまいたいというのがありまして…。

本当にレスありがとうございました。参考にさせていただきます。

259 名前:名無しさん@そうだ選挙にいこう [2008/10/17(金) 00:08:40 ]
>>243 スレ違いですがもしAccessが使える環境ならAccessにインポート、クエリでdistinctかけて、そのクエリをExcelに出力で終わり。Excelオンリーなら………


スマンが、がんばって下さい

260 名前:243 mailto:sage [2008/10/17(金) 00:16:12 ]
>>259
おおお…(羨)
がんばります。
#DBには興味を持っており勉強を始めたところです。
会社では使えないでしょうが自分のために



261 名前:197 [2008/10/17(金) 00:27:55 ]
>>216さん >>217さん

できましたできました。皆さんに感謝感謝です!


ついでにもうひとつ聞きたいのですが、変数を作るとき、「=」を入力するためには
「Shift+ほ」をクリックするしかないのでしょうか。「=」の入力もかなり面倒で
参ってます




262 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 00:36:10 ]
>>261
残念ながらそれしかありません。
解決策としてはUSBテンキーで「=」キーの付いたタイプを探す、ぐらいかなあ。

ところで「=」で始まるのは変数じゃなくて数式、キーボードの操作はクリックじゃなくてタイプですよ。

263 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 00:39:43 ]
補完だかオートコンプリートだか今手元にエクセルがないのでわかりませんが
私は「..」(ピリオド2つ)で「:」を出しいます。

264 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 01:25:40 ]
>>261
VBA使っても良いなら、任意のキーを=入力に出来るし
外部のキーカスタマイズソフトでも同様のことが出来る

因みに自分は、ノートでVN-350という=キー付きのテンキーを使ってるが
Excelの数式の場合、メインキーボードの=(Shift & -)使う方が多いな
=の後が数字ならテンキー側使いもするが、=の後は参照にしろ関数にしろ英字始まりだから

>>263
オートコレクトね
オートコンプリートは補完でオートコレクトは補正
でも、時刻入力の場合の「..→:」は、それによって「全てテンキーで入力できるようになる」という利点があるが
数式の場合はそうもいかないからオートコレクト使う利点はあまりないような

265 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 01:32:13 ]
>>201
そうですか、、、
だからぐぐってもそういうテーマがないんだ、、、
VBAで置換するのもなんかめんどいし、Formでパレット自作して
マクロ登録のほうがましかな、、、
ならそういうの既にありそうなのにな。

266 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 02:35:45 ]
>>265
これは?
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-mycolor.html

267 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 09:20:55 ]
質問です。251さんの紹介した計算式
C1セルの式 =(A1&B1)=(A2&B2)
これは論理式なんでしょうが、こういう書き方があるのを初めて見ました。
論理式でググると、=ANDとか=ORのように必ず関数が出てきます。
IF関数の「中身」の式だけをセルに書いて、セルにTRUEとかFALSEと表示
されるのを初めて見ました。このような書き方はどこに記されているんで
しょうか?
自分のEXCEL2003のヘルプを「論理式」では該当なく、「論理関数」では数件
該当ありますが、=A2=A3のような書き方のことは見つけられませんでした。

268 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 09:43:46 ]
>>267
これは論理式じゃなくて比較演算子

269 名前:名無しさん@そうだ選挙にいこう [2008/10/17(金) 09:54:03 ]
おいおいバカばっかだな

270 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 10:03:33 ]
>>269
2ちゃんなんか見てないで仕事しろよ。
さっきおまえの後ろを通りかかった人より



271 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 11:08:35 ]
>>267
論理式です
ANDやORは論理値を扱う関数であり
この倫理関数は論理値を返す式、つまり論理式が有ってのものです
比較演算子を使った比較式は、結果を論理値で返す論理式の1つであり代表的なものです

解説は計算演算子のところにあります
Excelでは式や関数の結果をセルに表示させるのは、先頭に=を付けるという規則があるので
その前提でこの項目を読めば
> 次に挙げる比較演算子は、2 つの値を比較し、結果として TRUE または FALSE の論理値を返します。
>
> 比較演算子  内容 (使用例)
> = (等号)     左辺と右辺が等しい (A1=B1)
は結果の論理値をセルに表示したければ「=(A1=B1)」と記述しろと書いてあるのと同義です
加算や減算の解説だって、先頭に=は付いてないけど、関数の引数に使うのではなく
その単一の演算結果をセルに表示させるなら=付けるのは当然でしょ

272 名前:名無しさん@そうだ選挙にいこう [2008/10/17(金) 12:46:36 ]
>>267
=2+3
で5が返るけど、関数は出てこないだろ。そんな感じ
=A2=A3
の最初の=と後の=は全然意味が違うってことに気づけば分かりやすいかな

ちなみに「=」は比較演算子、「+」は算術演算子って言うんだけど覚えても滅多に役に立たんな

273 名前:困っています。 [2008/10/17(金) 13:48:56 ]
>>228
調べましたが、マクロは有りませんでした。

274 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 14:06:24 ]
>>273
Alt+F11でVBEを開いてシートやモジュールをすべて見てもないかな?
これもだめなら次はアドインを疑う
メニューの「ツール」→「アドイン」
チェックが付いてるものに怪しいのがないか見る

この先はもう思いつかない・・・

275 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 14:22:15 ]
>273
横レスです。
228からの関連レスを見直して
>>新しいブックを開いた時は、もちろんハイパーリンクは一切入っていませんが、
>>作業を進めるうちに、またいつの間にかハイパーリンクが入っています。
ということで引っかかったのが、エクセルを起動して新規ブックを扱っているだけなのに
いつの間にかハイパーリンクが入るということは、マクロウィルスが考えられるので、
下記のURLを参照してみてください。
www.ipa.go.jp/security/y2k/virus/cdrom/basic/1_05_4.html
ここはIPAという独立行政法人情報処理推進機構のセキュリティセンターのサイトです。


276 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:14:46 ]
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Google:エクセル 表示 消す

動画の開始時間と終了時間を入力するとフレーム数に変換され
Trim(ここと,ここ)にフレーム数を表示するといった感じにしたいのですが
開始時間や終了時間を入力していない場合はTrim(,)←これは表示したくないのですが消す方法が分かりません。
ちなみに="Trim("&E7&","&K7&")"このように書いています。
お力貸してください

277 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:17:29 ]
>>276
どちらか片方が空白だったら表示しない
=IF(OR(E7="",K7=""),,"Trim("&E7&","&K7&")")

278 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:33:11 ]
>>277
IFでできると思うんですがTrim(0,0)と表示されます
もしや開始と終了の0をセルの書式設定の#で消してもだめですか?

279 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:40:02 ]
試してみればいいじゃん
バカすぎないか

280 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:44:35 ]
ごめんなさい
試して書き込んでました
式のない時間を選択したところTrim(,)は消えましたが0とだけ表示されます
時間は開始終了とも入力していません



281 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:45:27 ]
>>278
どちらか片方が0だったら表示しない
=IF(OR(E7=0,K7=0),,"Trim("&E7&","&K7&")")

282 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:46:08 ]
>>280
じゃあこうだな
=IF(OR(E7="",K7=""),"","Trim("&E7&","&K7&")")

283 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 17:50:20 ]
>>282さんの式の前半部に時間のセルを指定したところ表示が消えました
なぜこうなるのかしばらく考えてみます。
ありがとうございました

284 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/17(金) 18:31:30 ]
>>283
悩むことはない
>>277が空文字列「""」を送るのサボったからだ

285 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 08:51:08 ]
質問です。
エクセル(2003 SP3)でシート上に棒グラフを作ったのですが
グラフエリア以外のセルをクリックするとグラフエリアが極細の網目模様になってしまいます
グラフエリアをクリックすると普通にグラフの内容が表示されるのですが・・・
プリントプレビューでも、実際にプリントしてもグラフ部分は印刷されず網目になってしまいます
どうすれば解決できるでしょうか? お願いします


286 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 09:16:20 ]
>>285
ツール → オプション → 表示 を開いて
オブジェクトを「位置のみ表示」から「すべて表示」に変更

287 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 09:29:59 ]
>>286
できました!!!ありがとうございます!
こんなオプション通常弄るはず無いから、ノーチェックでした
誰かが弄ってたのかもしれません・・・orz
とにかくありがとうございました!

288 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 16:17:52 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Google:excelVBA 台形積分

VBAを使って、台形積分をしたいのですが、どうもうまくいきません。
グラフを書く場合シート上では
 A   B
1 0.542 35.965
2 0.541 35.276
3 0.538 34.56
4 0.535 33.872
5 0.532 33.155
6 0.53  32.495
7 0.526 31.807
8 0.525 31.148
9 0.521 30.46
10 0.519 29.8
 (横軸) (縦軸)

となります。グラフにすると分かるのですが、累乗関数的なグラフとなります。
以下にとりあえずためしてみたコードをかきます。


289 名前:288 mailto:sage [2008/10/18(土) 16:19:22 ]
Sub module1()

Dim f1(), f2() As String

ReDim Preserve f1(i)
ReDim Preserve f2(i)
f1(i) = Cells(1, 2)
f2(i) = Cells(1, 1)

i = 1

Do Until Cells(i, 1) = ""
ar = ar + (f1(i - 1) + f1(i)) * (f2(i) - f2(i - 1)) / 2
i = i + 1
Loop

End Sub

この状態だと、ar = ar + (f1(i - 1) + f1(i)) * (f2(i) - f2(i - 1)) / 2
のところで「インデックスが有効範囲にありません」というエラーが出ます。


290 名前:288 mailto:sage [2008/10/18(土) 16:19:57 ]
たぶん、配列を二つ使っているのに、Doの行でセルを一つしか指定していなかったり
という部分に問題があると思うのですが、テキスト的なコードしか分からない今の自分には
解決方法が導けません。

どなたかお力をお貸しください。

あと、ついでにお聞きしたいのですがDoの条件を設定する時、
Do Until 条件の設定
Loop
とするんですよね?セルが空になるまでDo処理をしたいときは、
Do Until Cells(1,1) .Value <> ""
とすればいいのは分かるのですが、終わりのセル番号を指定したい時
(例えば、A7のセルで処理を終わらせたい)
と言う時はどのようなコードを書けばよいのでしょうか?
(というか、これだとforを使うほかないのでしょうか)




291 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 16:39:03 ]
もうExcelの範囲外だけど
とりあえずiの値の変化を追ったほうが良いよね


292 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 20:33:12 ]
A列に退勤時間がはいっています。表示は17:50の形となっています。
退勤時間が17:30-18:00であれば黄色に色づけたいのです。
条件付き書式設定で、数式の所にどのようにかいたらか教えてください。
時間の表示が悪く、全ての時間できいろくなっていますので。

293 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 20:38:30 ]
>>292
シリアル値で設定する
17.5/24以上、18/24以下で書式設定

294 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 20:49:18 ]
>>293
サンクス。おかげで出来ました。


295 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 21:13:56 ]
>>290
繰り返しについては、ここ読んで勉強して。
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_for_next.html

296 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 21:18:09 ]
>>289
subが始まった時点でiは0
つまりReDimのところでもiは0のまま

297 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 22:22:23 ]
こんにちわ。
あ、こんばんわ!

技術的な問題でないのですが教えてください。
【1 OSの種類         .】 Windows‥?
【2 Excelのバージョン   】 Excel‥?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【困っていること】これからエクセルを学ぼうとするものです。
 職場と自宅のパソコンの種類が違うので、
 どのバージョンから勉強したらいいか迷っています。

自宅 VISTA ・ 2007
会社 VISTAではない、机によって違う ・ 2000?1998?机によって違う

自宅の2007を使って学習しようと思いましたが
それ以前のものとはかなり使い方が違うようで困っています。
やっぱり会社のエクセル用の本を買って
読んだ方がいいでしょうか。
あまり気にせず学習は自宅の2007でいいでしょうか?

298 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 22:31:36 ]
>>297
覚えたい内容による。
Excelの本質である表計算機能、つまり数字と関数を並べていろいろな計算をさせるだけならどれを使ってもほとんど同じ。

299 名前:名無しさん@そうだ選挙にいこう [2008/10/18(土) 22:34:14 ]
>>298
ありがとうございます。
はい、基本しか使わないと思います。
今からやってきます


300 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 22:35:08 ]
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 奇数 グラフ

Excelに光熱費をつけて、それらをまとめて1つのグラフで表示したいのですが、
水道代とかNHK受信料のように隔月支払いのものがうまく表示できません。

↓エクセルシートはこんな感じ
   A   B     C
1     電気代 水道代
2  1月 5000   2500
3  2月 5500
4  3月 5000   2400
5  4月 4500

たとえば、グラフのデータは全部のセルを選択した状態にすると、
毎月支払っている電気代はちゃんと表示されますが水道代は全く表示されません。
水道代をCTRLしながら、支払った月のセルだけ選択すれば表示されますが、
グラフ上で3月に支払った金額が2月のところにずれてしまいます。
うまく表示する方法はあるでしょうか?



301 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 22:47:39 ]
>>300
A1-C5選択してそのままグラフ作ると無理なのか?
2003だとそれでできるんだけど
あと日本語変ですよ

302 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 22:50:07 ]
>>301
無理だろ。と思ったけど棒グラフだと行けるな。
作業列でも作ればいいんじゃないかな

303 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 22:51:37 ]
どうせ折れ線グラフとか肝心なことが書いてないので
すき間を=NA()で埋めるなどすればいい

304 名前:300 mailto:sage [2008/10/18(土) 22:58:34 ]
>>301-303
すんません、折れ線グラフです。
=NA()入れたらうまくいきました。ありがとうございます!!

305 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/18(土) 23:33:32 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ある程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel セル 書式 表示形式

エクセルで給与計算するシートを作っています
入社時刻を入れるセルを2列用意し、
1列目:リストから選択 2列目:手動入力にしています

その2列に「#"時"##"分"」と表示するよう設定したものの
1列目だけが「####」と化けてしまう
尚、そのセルへのオンマウスで出る小窓は「#"時"##"分"」で表示される

考えられる原因ってなんでしょうか?
この状態から入力規則を切っても駄目でした

306 名前:305 mailto:sage [2008/10/18(土) 23:44:26 ]
自己解決しました
セルの横幅が足りなかったのが原因でした
お手数かけてすんません

307 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 00:09:54 ]
エクセル2003で、ページの一部分だけスクロールをしたいんですがどうすればいいですか?

あと、ここの文字をクリックしたら、あそこに飛ぶ、ようにするにはどうすればいいですか?

308 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 00:19:48 ]
>>307
ウィンドウ→分割、またはウィンドウ枠の固定

309 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 00:38:45 ]
ハイパーリンク

310 名前:307 mailto:sage [2008/10/19(日) 01:12:12 ]
>>309
エクセル内に文書を作って、たとえば、
「書いたい物」
の文字をクリックすると、
同じエクセルページ内の「買いたいものリスト」に飛ぶようにしたいんです。



311 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 01:28:48 ]
>>310
ハイパーリンクでその「買いたいものリスト」が書かれてるセルを指定すればおk

312 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 08:07:44 ]
リストのことか?データの入力規則

313 名前:総務2年生 mailto:sage [2008/10/19(日) 10:50:22 ]
>>239
適切な説明ありがとうございました
この方向で作っていきたいと思います
ちなみに1行目だけ印刷対象外にする方法をしりたいです

>>242
ありがとうございます
この様にコードを入れたのですが

Sub aaa()

Private Sub CommandButton1_Click()
With Worksheets("Sheet2")
.Range("A1").Value = .Range("A1").Value + 1
End With
End Sub

End Sub

いくらやってもコンパイルエラーで「End Sub が必要です。」がでます

それからこのコードは1.2.3.4・・・と連番限定なんですか?


314 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 11:27:55 ]
Private Sub CommandButton1_Click()
With Worksheets("Sheet2")
.Range("A1").Value = .Range("A1").Value + 1
End With
End Sub
だけでいいんじゃないの

315 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 11:33:19 ]
Private Sub CommandButton1_Click()
Worksheets("Sheet2").Range("A1").Value = Range("A1").Value + 1
End Sub
だけでよくね
コードの意味はA1セルの値はA1セルの値に+1したもの
だから+1を+2にすれば1個飛ばしたりもできる
-1なら逆の連番だな

316 名前:名無しさん@そうだ選挙にいこう [2008/10/19(日) 13:54:13 ]
Excelの勉強をしたいと思ってるんですが、Excelを買う金がなく、以前からPCに入っている三四郎を使って勉強したいと思っています。
図書館で三四郎の本を探してもなく、Excelの教科書を借りてきました。
Excel教本と三四郎を使用して、Excelの基礎や関数などを学んでも、実際Excelを使うときでも支障はないでしょうか?

317 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 13:57:21 ]
まったく役に立たないと思います

318 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 14:19:09 ]
助けて下さい。
EXCEL2007で散布図を作っているのですが、プロットが正しい位置に打たれません。
3.2なのに3.15付近にプロットされたり、2.2なのに2.25だったりといった具合です。
グラフの種類はプロットのみ、線なしの散布図です。

元のデータは計算結果ではなくただの数値、X、Yとも3.1とか2.6といった、
1桁+小数点第1位の単純な値です。

時間さえあればじっくり調べられるのですが、17時までに資料を仕上げなきゃという状況です。
何分勝手な言い訳なのですが、ご存知の方いらっしゃればご教示ください。
すがる思いでお願いいたします。

319 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 14:33:36 ]
実際のファイルをどこかにうpして見せないと適切なアドバイスがつかないと思います

320 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 15:10:16 ]
>316
ネタとしか思えないが、マジレスすると
Excelは有料ですが、無料で使えるOOo(オープンオフィス)があります。Excelに相当するCalcだけ
インストールというのはできないと思うけど、全体でも大した容量はないのでおすすめです。
三四郎よりも、オープンオフィスで表計算の勉強をするとExcelに移ってもあまり違和感はないと
思います。(Excel2007を除く)
ただし、オープンオフィスの解説本はExcelと比べると圧倒的に少ない(あってもCalcだけじゃない)
ので、ネットで調べるのがいいと思う。





321 名前:239,242 mailto:sage [2008/10/19(日) 15:24:11 ]
>313,315
Withは、代入式の左右どちらにも影響するので、私が書いたようにした方がいいです。
Withを書かない場合は、
Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet2").Range("A1").Value + 1
と書かないとおかしくなります。

>それからこのコードは1.2.3.4・・・と連番限定なんですか?
+ 1 なのでひとつずつ増やすだけです。別にボタンを加えて初期値にする(データが2行目
からであれば
.Range("A1").Value = 2 とすれば[1件目]ボタンになるし、
.Range("A1").Value = .Range("A1").Value - 1 ならば[前]ボタンです。
直接○行目のデータに移りたいときは、A1セルに数字を入れれば済みます。

>ちなみに1行目だけ印刷対象外にする方法をしりたいです
印刷範囲を設定する、というのはExcelの初級ですよ。除外する範囲ではなく、シート2(見積書)
の印刷範囲を指定すればいいだけのことです。



322 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 17:53:13 ]
>>316
2ヶ月使える試用版が無料で落とせるよ。
ttp://trial.trymicrosoftoffice.com/trialjapan/default.aspx
ちゃんと勉強すれば、2ヶ月もあれば一通りのことはマスターできる。

323 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 17:56:24 ]
>>318
もう17時を回ったから手遅れかもしれんが、一応。
本当に少数以下一位までの数値になってる?表示形式で丸めてない?

324 名前:名無しさん@そうだ選挙にいこう [2008/10/19(日) 19:12:22 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセルが起動しない

Excelを起動すると一瞬画面に出ますが、すぐ消えます。
プロセスにはexcel.exe (CPU 0%, 11.812kb memory使用率)が出ます。消すこと可能、消しても問題解決しない。
CDから再度インストールしたけど解決せず。

です。

関係ないかもしれないですが
先日一度ウィルスに感染したので二週間位前のシステム復元ポイントを使って復元済み。
⇒a-squared free, lavasoftなどでdeep scan してウィルスやmalwareなどはすべて検疫しました。
最初Excelは動いていましたが、一度急に消えた後、エクセルが動かなくなりました
(ちょうどa-squared freeでfull scanをしていた間かな?) 忘れてしまった。
⇒ちょうどavanti ...? が後1日でつかえなくなるといってくるのでuninstal。

325 名前:名無しさん@そうだ選挙にいこう [2008/10/19(日) 19:23:20 ]
質問1
管理表.xlsというファイルがあって
A2に年度、A4に月を入力してマクロを実行すると
他フォルダのファイルの該当データを取り込んでC2、C4に反映させる用にしたいです。

具体的には、例えば

管理表.xls の A2に20、A4に9を入力してマクロを実行すると
D:\集約済データ\H20 というフォルダにある、
"一覧.xls" というファイルの "9月" というシートのB2の値を
管理表.xlsのC2に表示する。

管理表.xls の A2に19、A4に12を入力してマクロを実行すると
D:\集約済データ\H19 というフォルダにある、
"一覧.xls" というファイルの "12月" というシートのB2の値を
管理表.xlsのC2に表示する。

説明がわかりずらくてすみません。
よろしくお願いします。

326 名前:325 mailto:sage [2008/10/19(日) 19:25:07 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

忘れてました

327 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:22:17 ]
>325
マクロの記録は試してみましたか?
ExcelVBAはどの程度まで扱えますか? マクロの記録で作成されたコードをいじることは
できますか?

328 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:24:19 ]
>>325
Sub a()
 Cells(3, 3).Formula = "='D:\集約済データ\H" & Cells(2, 1) & "\[管理表.xls]" & Cells(4, 1) & "月'!B2"
End Sub

329 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:27:35 ]
>>325
328は間違い

Sub a()
Range("C2").Formula = "='D:\集約済データ\H" & Range("A2") & "\[管理表.xls]" & Range("A4") & "月'!B2"
End Sub

330 名前:325 [2008/10/19(日) 20:46:14 ]
>>329
できました!ありがとうございます。



331 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:49:10 ]
折り返して全体を表示  としても、全体の文字が表示されないことがあります。
なので、セルの幅を広げます。解決するにはどうすれbいいでしょうか?

あと、セルを結合して、そこに文字を打っても上記のような状態になることがあります。


332 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:52:14 ]
>>331
どういう風に途切れてるんだ?

333 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 20:58:06 ]
>>331
「縮小して全体を表示する」にチェック
または
「折り返して全体を表示する」にチェック+行の高さを広げる

334 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:07:55 ]
もう1回質問します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】シートのコピー 名称変更

各部署で作成してるデータを1つのファイルでシートを分けてまとめる作業をしてるんだけど
D:\データというフォルダの中に
A課.xls B課.xls C課.xlsという3つのファイルがあるとする。(実際は20ファイルぐらいあるけど)
で、3つのファイルはそれぞれにシートが複数合って、シート名は
"H20"、"H19"、"H18"、・・・・・といった具合に年の名前になっている。
で、作業中のファイルでA1シートに"20"を入れてマクロを実行すると
Dドライブのファイルから該当年度のシートをコピーして、なおかつシート名を
"H20A課"、"H20B課"、"H20C課"とするには
どんな風に記述すればいいですか。

335 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:11:02 ]
>>332
ttp://mb1.net4u.org/bbs/index.php?usid=hiroshi&mode=image&file=12.jpg

な感じです。セル結合してますが表示されてないです。


>>332
試してみましたが、1つの棒のように表示されまったく読めない状態になりました。

336 名前:335 mailto:sage [2008/10/19(日) 21:12:33 ]
画像がなぜか2ちゃんねるからでは見ることできませんが、
アドレスに直接貼り付ければ見れます。
mb1.net4u.org/bbs/index.php?usid=hiroshi&mode=image&file=12.jpg

337 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:13:37 ]
>>335
そのスペースにそれだけの文字を表示されるためには横幅を広げるか縦幅を広げるか
文字を小さくするしかないのでは?

338 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:14:34 ]
>>335
こういう風に貼るんだ
ttp://mb1.net4u.org/bbs/data/hiroshi/img/12.jpg

339 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:16:11 ]
>>335
長い文章をエクセルで扱うこと自体が間違い

どうしてもやるなら>>333の言ってる
「折り返して全体を表示する」にチェック+行の高さを広げる
で対処するのがベスト
じゃなければもっと広い範囲でセル結合


340 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:26:57 ]
>>338
なぜ私のは表示されないんでしょうか?



341 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:31:17 ]
>>339
1つのセルだと、折り返して全体表示 で自動的に表示されます。
でも、結合すると駄目なんですよね。
たとえば4行分結合してるとして、自動的に、4行1つ1つの幅が平均的に
広がるようにならないのかしら?

342 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 21:51:10 ]
>>341
無理だな
フォントのサイズ+余白分を行の高さにすればいけそうだけど
そんなことするなら一行ずつ入力するほうが速いな

343 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 22:39:22 ]
>>342
それでもいいんだけど、横幅を毎回調整するのがめんどくさいのよね

344 名前:名無しさん@そうだ選挙にいこう [2008/10/19(日) 22:49:42 ]
セル結合する奴がカス。

345 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 22:52:55 ]
別のところから数字引っ張ってきて下に文章を添える程度なら別にいいと思う
エクセルで長文作ってるならウンコね

346 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 23:00:35 ]
なぜセル結合までして長文を入れたいんだろ?
テキストボックスじゃダメなのかな?
位置の微調整も楽なのに。

347 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 23:20:32 ]
エクセルのシートを2、3段で表示する方法ありますか?

348 名前:347 mailto:sage [2008/10/19(日) 23:22:24 ]
説明があまりにも悪いですね。

今は1列にシートが表示されてて、横へ移動しないと全部のシートが見れないんです。
2段とかにすれば、全部見れて、すぐにパッと目的のシートを表示させたいんです。

349 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 23:34:47 ]
>>347
ウィンドウの分割で2段にならできる
分割したあと境界線をマウスでドラッグ

350 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 23:37:31 ]
ウィンドウの分割って何ですか?



351 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/19(日) 23:56:40 ]
セル書式設定で
折り返して表示

ってことじゃないの?

Alt + エンター でセル内改行出来るよ

352 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 00:00:37 ]
エスパー
シートタブを2段にしたいってことでしょ。それは無理。
シートを一発で選択するには、タブが並んでるところの左端の小さい黒い三角を右クリックのが簡単。
あと、シートタブと横スクロールバーの境界はドラッグで変更できるから、少しなら広げることが出来る。

353 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 04:59:56 ]
【1 OSの種類 .】 WindowsXP【2 Excelのバージョン 】 Excel2007【3 VBAが使えるか .】 いいえ【4 VBAでの回答の可否】 否【5 検索キーワード 】 Excel セル 整列

www.vipper.org/vip962071.jpg
画像のように列も行も数値もバラバラのセルを1列(A列)にまとめる方法はないでしょうか?
もしも列の中でバラバラでもそれは直しかたが分かるので大丈夫です
お願いします

354 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 05:32:02 ]
>>353
作業列に=SMALL($A$1:$E$5,ROW())って入れて適当な数だけコピペすればすべてのデータが1列に集まる。
A列にもデータが入ってるから、この方法ではA列は作業列に使えない。
作業列に集めてからA列にあらためてコピペ(形式を選択して貼り付け→値)とかする必要がある。
データの範囲がA1〜E5じゃない場合は、それに合わせて式を変更する。

355 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 06:18:46 ]
OS:WindowsXP

質問1
Z10〜Z40までのセル範囲に
一箇所でも空白以外のセルがあったら
Z41に”有”と表示する
Z10〜Z40が全て空白だったら
Z41は”無”と表示するにはどうすれば?

質問2
E10:Y40までのセル範囲で
”○”と入力されているセルの数を数えて
Z42に表示するにはどうすれば?

356 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 07:56:35 ]
>>355
1
=if(counta(z10:z40)>0,"有","無")
2
=COUNTIF(e10:y40,"○")
または○を1に置換して、sumなんて方法もある

357 名前:名無しさん@そうだ選挙にいこう [2008/10/20(月) 12:17:26 ]
質問です。
エクセル2007でエクセル単体のメモリ使用量が2Gを越えると、メモリ不足ですと言われるんですが、これは仕様ですか?
物理メモリは3G積んでいます。CPUはC2DのE6700です。タスクマネージャーで見るとまだ物理メモリの上限まで0.8Gほど余裕があります。
3つのファイルを一つにまとめようとしたら上記のような事が生じてしまいました。
対処法はあるのでしょうか?
教えてください。

358 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 12:59:16 ]
32bit環境(CPUかOSが32bit)では、アプリが使えるメモリ空間は上限2GBです
対処法は完全64bit環境に移行することです

359 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 13:15:29 ]
>>357
現実的な対処法は1シートずつコピーするとか、かね



360 名前:288 mailto:sage [2008/10/20(月) 13:20:45 ]
返信遅くなり申し訳ありません。
>>291
この内容だとスレ違いになってしまいますか?
他のVBA専用スレ等で質問した方が良いんでしょうか。
iの変化で気になるところがあるのですが、もし1行目のセルでi-1の処理をした時に、
i-1は存在しないので、エラーが出るのか?と思い、
制御変数をi=2としてみましたが、同じエラーが出てしまいました。

>>290
URL参考にさせていただきました。
exit doを使えば指定のセルでループから途中抜けできそうですね。
ありがとうございました。

>>296
ReDimの前に制御変数:@を指定しろという事でしょうか?
これをやってみると、「インデックスが〜」というエラーがなくなりました(ありがとうございます!)
しかし、今度は同じ行に「型が一致しません」というエラーが出るようになりました。
これは変数の設定が甘いのかと思い最初のDim行でarとiの変数を設定を行いましたが、
同じエラーが出てしまいました。
とりあえず以下に現在のコードを書きます。



361 名前:288 mailto:sage [2008/10/20(月) 13:21:16 ]
Sub module1()
Dim f1(), f2() As String, ar As Single, i As Long
i = 1
ReDim Preserve f1(i)
ReDim Preserve f2(i)
f1(i) = Cells(1, 2)
f2(i) = Cells(1, 1)
Do Until Cells(i, 1) = ""
ar = ar + (f1(i - 1) + f1(i)) * (f2(i) - f2(i - 1)) / 2
i = i + 1
Loop
End Sub

受け身な態勢で恐縮ですが、もし他に何かアドバイスなどあれば
引き続きよろしくお願いいたします。

362 名前:357 [2008/10/20(月) 13:21:57 ]
>>358
ありがとうございます。
そういう事でしたか。理解できました。

363 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 13:24:27 ]
>>361
ReDimはループの中でしないと意味無いよ

364 名前:363 mailto:sage [2008/10/20(月) 13:34:58 ]
Sub module1()
Dim f1(), f2() As String, ar As Single, i As Long
i = 1
Do Until Cells(i, 1) = ""
ReDim Preserve f1(1 to i)
ReDim Preserve f2(1 to i)
f1(i) = Cells(i, 2) 'B列のi行目
f2(i) = Cells(i, 1) 'A列のi行目
ar = ar + (f1(i - 1) + f1(i)) * (f2(i) - f2(i - 1)) / 2
i = i + 1
Loop
End Sub

こうじゃないかと・・・
ところでf1()に型が指定されていないのが気になる
前のレスまだ読んで無いので確かな回答はできて無いかもしれない

365 名前:363 mailto:sage [2008/10/20(月) 13:43:13 ]
軽くググってみたら台形積分って何?って感じになった・・・
入力が何で出力が何かはっきりしないとどうしようもない

366 名前:363 mailto:sage [2008/10/20(月) 14:01:43 ]
やりたいこと飲み込めたかな・・・

Sub module1()
 Dim f1(), f2() As String, ar As Single, i As Long
 i = 1
 Do Until Cells(i, 1) = ""
  ReDim Preserve f1(i) '(0 to i)
  ReDim Preserve f2(i) '(0 to i)
  f1(i) = Cells(i, 2) 'B列のi行目
  f2(i) = Cells(i, 1) 'A列のi行目
  ar = ar + (f1(i - 1) + f1(i)) * (f2(i) - f2(i - 1)) / 2
  i = i + 1
 Loop
End Sub

よく分からなかったので計算式から推測
後、気になったのは1行目の計算はこのままでいいのか?ってこと
なんか1人でスレ汚しまくってるな・・・

367 名前:363 mailto:sage [2008/10/20(月) 14:19:00 ]
Dim f1(), f2() As String, ar As Single, i As Long

Dim f1() As Single, f2() As Single, ar As Single, i As Long
に変えたら動いたし結果もなんか出た
ただf2()をVariantに変えてやってみた時との誤差が大きかった
入力値を整数にしてからやったほうがいいかも知れん
もうこれ以上汚さずに済むかな・・・

368 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 14:55:09 ]
台形積分というのは台形の面積を足して積分の近似値を求める方法。
だからデータがi行あったら計算の回数はi-1回になる。
あと、データを配列に入れる必要はまったくない。

Sub a()
 Dim ar As Double
 ar = 0
 i = 2
 While Cells(i, 1) <> ""
  ar = ar + (Cells(i - 1, 2) + Cells(i, 2)) * (Cells(i - 1, 1) - Cells(i, 1)) / 2
  i = i + 1
 Wend
 Cells(1, 3) = ar '結果をC1セルに入れる
End Sub

369 名前:名無しさん@そうだ選挙にいこう [2008/10/20(月) 18:01:02 ]
質問です。
シートを保護した状態で(部分的にセルにロックをかけています。)、
行をコピーして「コピーしたセルの挿入」をすることはできませんでしょうか?
計算式などは触られたくないけれども、項目の追加は利用者に任せるというふうにつかいたいのですが。。。

どなたかお助けください・・・

370 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 18:31:48 ]
>>369
「シートの保護」ウィンドウの「このシートのすべてのユーザーに許可する操作」で
「行の挿入」をチェックすれば、挿入ができるようになります。



371 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 18:33:40 ]
>>369
データ入力用のシートと計算式が入ったシートを分けるという方法もある。
部分的にシートを保護するのは設定が面倒だから、こっちが間違いが少ないんじゃないかなあ。

372 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 18:33:40 ]
>>369
「シートの保護」の設定で「行の挿入」を許可すればいいだけでは?

373 名前:288 mailto:sage [2008/10/20(月) 19:20:06 ]
皆さんのおかげでコードが完成しました。
>>363
366のコードですと、また「型が一致しません」というエラーが出たのですが、
最初のi=1をi=2とすると、うまく通るようになりました。
しかし値を出力してみると、どうもおかしい・・・。
色々やってみたのですが、うまくいかず、結論として、私が作ったarの式が
配列を用いて台形積分を求めるには適切でなかったようです。
せっかく考えていただいたのにすみませんでした。

>>368
これですね!ありがとうございます。
実は、290さんのページをを改めて見直し、配列を使わずに計算する方法が記載されており
それを参考にしながら台形積分のコードを作成しておりました。
結果的に368さんと同じ形式・値となったので、確信がを持つ事ができました。

参考URLはちゃんと見なければいけませんね・・・。すみません。
本当にありがとうございました。

374 名前:名無しさん@そうだ選挙にいこう [2008/10/20(月) 19:29:26 ]
>>370
>>371
>>372
ありがとうございます。
ご指摘の通り、シート保護の設定で「行の挿入」にチェックを入れているのですが、
結合セル(ロック状態)は分解されてしまい、書式コピーでも結合ができません。
>369で書き込みました通り、「コピーしたセルの挿入」同等の動作を行いたいのですが、なにか方法はありませんか?


375 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 19:51:54 ]
>>374
>>371の案は却下?
それなら一時的に保護をはずして行を追加するとか・・・
追加する行のフォーマットが固定されているならVBAでできなくも無い

376 名前:名無しさん@そうだ選挙にいこう [2008/10/20(月) 20:11:01 ]
>>375
却下などではありません^^;
ただ、結果だけでなく計算過程も表示しなければいけない表なので、それらを分けるのは少々難しいかと思いまして、、、
フォーマットは固定されていますので、VBAというもので調べてみます。
また解決しましたらご報告いたします。どうもありがとうございます!

377 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 20:31:16 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

しょーもないことなんですが、リストをフィルタするときに
Excel2003までは▽押して、特定の数値なり選んで完了でした、ものの2クリックです

2007は数値を複数選べるのは便利なんですが、一つだけ選ぶときに
「▽押す」「すべて選択を押して全部解除」「選びたい数値を選ぶ」「OKボタンを押す」
動作が四クリックになってます

自分の使い方では複数選ぶことなんてほとんど無いので、
2003のようなクラッシックなメニューにするか、最初入ってるチェックが全部OFFになってる方が便利なんですが
そういう設定はありますか?

378 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 20:38:49 ]
つづけてもう一つ質問です(環境は同じ)

リストに名前を定義して使ってます
2003までは定義した範囲を選択すると「名前ボックス」には当然、つけた名前が表示されたんですが
2007では「リスト1」みたいなexcelが自動的につけた名前が表示されちゃいます

「名前の管理」で見えますが、そのリストがなんて名前だったか、いちいちそれを開かないと確認できません
シート上で確認したいので、名前ボックスに名前を優先表示させる方法はありますか?

379 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/20(月) 20:59:11 ]
×リスト
○テーブル

ですね、2003のをインポートした部分は「リスト」、2007で新規で作ったら「テーブル」という・・

380 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:19:41 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 全く分かりません
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル IF 別シート 集計など

今、総括表を作っているんですが・・・。
例えばデータ用のシート1のA1に文字が入ってたら、総括表シートのA1にその
文字を入力。
なければA1を空白にしたいと考えています。
ただそのデータ用のシートが3つあり、その3つを串刺しするように総括表シー
トへ文字を入力したい為、非常に悩んでいます。
=IF(Sheet3!A1="","",Sheet3!A1),IF(Sheet2!A1="","",Sheet2!A1),
IF(Sheet1!A1="","",Sheet1!A1) というような感じで関数を作ってみたりして
いますが、なかなか上手くいきません・・・。

何か良い解決方法はないでしょうか?




381 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:28:23 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 SUM 集計

クレジットカードのサイト上の明細ページをコピーしてエクセルにペーストしたのですが、
SUMが機能せず、合計がゼロになってしまいます。
表示方法も数値、金額など試しましたがダメでした。
いったい、何が問題なのでしょうか?
もし判りましたら教えて頂ければと思います。
よろしくお願い致します。



382 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:36:19 ]
>>380
3つのデータを全部つなげて並べて表示するの?
それともSheet3にデータが入ってたらそれだけを表示して、Sheet2とSheet1のデータは無視するの?

383 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:38:02 ]
>>381
たとえば「\ 12,000-」みたいなデータは文字列になるから計算には使えない。
「12,000」みたいに前後の記号をすべて消して数字だけにする。

384 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:44:11 ]
>>382
どちらかと言うと、後者に近いです。
各データシートの同セルにおいて、文字列が入っているのはデータシート
1〜3のどれか1つで、そうでなければ全てブランクという状態です。
ですので、各シートのうちどれかに文字列が入っていれば、それを総括表
シートに記入されるようにしたいと思っています。

385 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 00:56:43 ]
>>384
だったらこれでいいはず
=Sheet1!A1&Sheet2!A1&Sheet3!A1

386 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 01:01:36 ]
>>385
おおーー!!
上手くいきました。
ありがとうございます!!!

387 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 07:31:23 ]
たまにここ覗いてるんだけど
>>385みたいな雑念を捨てたシンプルな回答はなかなかできないw


スレ違いすまん

388 名前:>>170 mailto:sage [2008/10/21(火) 10:01:04 ]
>>171さんに教えていただいた方法を試したのですが、ファイル名をセルから持ってくる方法が解りません、どなたか教えていただけませんか、お願いします

389 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 10:19:26 ]
>>388
例えば
ActiveWorkbook.SaveAs Filename:=Cells("A1") & ".xls"
Filenameでパス&ファイル名を指定すればいい

390 名前:名無しさん@そうだ選挙にいこう [2008/10/21(火) 14:13:58 ]
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否 】 否
【5 検索キーワード     】 絶対参照 相対参照 コピーしたセルの挿入

下図のような状態で、
@ 1〜4の間に行を追加(B列の書式は残したまま)
A 下図のセットをA5:B8にコピー(B列はA5を参照した関数に)
の両方の作業をA1:A4を分解せずに行う場合、どのような関数を設定すればよいでしょうか?

なお、現在B列のセルには=IF( A1="正" , C1*D1 , "-" )という関数を入れています。
A1を絶対参照にした場合、@は問題ありませんが、AでA1を参照してしまいます。
A1を相対参照にした場合、Aは問題ありませんが、@でA2を参照してしまいます。

”参照先のセルが結合されている場合、当該セルを含む結合セルを参照する”というなにがしかはありませんでしょうか?
また他になにかいい方法があればお願いします;;

┌─┬────┬─────────┐
| │ A │ B     │ C D
├─┼────┼─────────┤
|1│ │A1の正否により計算│
│ │    ├─────────┤
|2│ 参照元 │A1の正否により計算│
│ │    ├─────────┤
|3│ (結合) │A1の正否により計算│
│ │ ├─────────┤
|4│(リスト)│A1の正否により計算│
└─┴────┴─────────┘



391 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 15:16:19 ]
>>390
VBAを使えば結合セルの一番上の座標は一発で求まるんだけどVBA不可なので作業列を使う。
E列を作業列として、以下のような式を入れておく。
E1=A1
E2=(A2=0,E1,A2)
E3以下はE2をコピペ
そしてB列の式をこのように修正。
B1=IF(E1="正",C1*D1,"-")
作業列を隠したかったら一番上のEと書いてある部分を右クリックして「表示しない」。
コピペする時はE列を含めるのを忘れないように。

392 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 16:19:26 ]
本来のデータが0だとおかしくなる

393 名前:名無しさん@そうだ選挙にいこう [2008/10/21(火) 17:45:10 ]
>>391
ありがとうございます。
おかげさまで無事できました。
少々内容は触りましたので、ご報告を。

E1 =A1
E2 =IF(E1=A1,E1,"-")
E3以下はE2をコピペ
B1 =IF(E1="正",C1*D1,"-")

↑のようにするとうまくいきました!
どうもありがとうございます!

>>392
ご指摘の通り、空白セルを参照していますので、上のように替えました。
ありがとうございます!

394 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 17:51:09 ]
>>393
それではうまくいかないと思うのだが…

395 名前:>>171 mailto:sage [2008/10/21(火) 18:09:32 ]
>>389さんに教えていただいた方法で試したのですが、『実行時エラー‘13’型が一致しません。』と出ます(;´д`)

ActiveWorkbook.SaveAs Filename:= _
″C:\Documents and Settings\個人名\My Documents\″ & Cell(″A1″) & ″.xls″

何が間違えかどなたか教えて下さいお願いします。

396 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 19:10:17 ]
>395
1 ”ダブルクォーテーションが全角(すべて全角になってるみたい)
2 Cell(”A1”) ではなく Range("A1").Value


397 名前:名無しさん@そうだ選挙にいこう [2008/10/21(火) 19:22:55 ]
>>394
たしかにうまくいきませんでした。。。
>>391さんに教えていただいたようにE2=(A2=0,E1,A2)でうまくいきました^^;
続けて質問で申し訳ありませんが、行挿入の際にE2=(A2=0,E1(※R[-1]C),A2)→E2=(A2=0,E1(※R[-2]C),A2)というふうに参照セルがずれていきますが、これはどうしようもないでしょうか?
かといって絶対参照にすると>>390のAのまとめてコピーに支障するのですが・・・
いつ何時でもそのセルの直上のセルを参照するというふうにはできないのでしょうか?

398 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/10/21(火) 21:16:35 ]
>>397
OFFSET関数でできるよ。
E2の式の中でE1と書いてある部分をOFFSET(E2,-1,0)に置き換える。
するとE2(自分自身)の真上のセル、という指定になる。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<150KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef