5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 73

1 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 18:54:44
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総合相談所 72
http://pc11.2ch.net/test/read.cgi/bsoft/1215765544/


2 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 18:56:36
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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/08/27(水) 18:57:55
★ルールを無視すると…
 >>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分野の話ではないので、ここでは聞かないでください。

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

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

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

5 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 18:59:50
★ 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/08/27(水) 19:00:20
>>3>>4は順番が逆です!
ごめんなさい!

7 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 19:01:35
>>4>>5の間違い…

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

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

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

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

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

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

10 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 19:09:22
テンプレの終了。

11 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 20:05:41
激しく乙〜〜〜(・з・)

12 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 20:35:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 単位 保護 パスワード

エクセルの2002以降は、セル単位でのパスワード保護が可能なのは
知っていたのですが、
Exsel2000で同じような処理をできないでしょうか?

例えば、A1の横のB1にマクロボタンを作り、A1を変更する場合には、
B1に置いたマクロボタンを押してパスワードを入力して保護を外し変更。
他の領域、A1やB1以外のセルはパスワードの入力の必要がない状態。
やり方を知ってる方がいましたら、助言お願い致します。

13 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 22:20:09
【1 OSの種類         .】 Win Xp
【2 Excelのバージョン   】 Excel 2003 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 クロス マトリックス

元シートに  name  rank  point
         あ    A    2
         い    B    1
         う    A    2
         え    A    3    のようなデータ400行程。
                         rankは8種類(確定)、pointは30種類くらい(不定)になります。

これを別シートに
rank を縦軸、pointを横軸にマトリックスを作り、対応する枠の中にnameを入れたいのです。
    point
rank  1  2  3
A      あ  え
       い
B   う             何も入らない枠もありますし、同じ枠に10個のnameが入るときもあります。
                 それぞれの枠に入る個数を求めるのは出来たのですが、そのままnameを並べることができません。
                 複数のnameが入るところは、同一セルに改行でもセルが縦に(横に)並んでもどちらでもokです。

例で言うと、”あ・い”は同一セルでも、別セルでも構いません。
どうかよろしくお願いします。

14 :名無しさん@そうだ選挙にいこう:2008/08/27(水) 23:48:09
Option Explicit
Sub Macro6()
Dim MyRange As Range: Dim cl As Range
Dim ShMatrix As Worksheet: Dim EndRw As Long
Dim MyCol As Integer: Dim MyRw As Long
Dim lc As Long: Dim MyMax As Long
Dim MyStr As String: Dim MyArray() As String
Dim MyArray2() As Long
    Set MyRange = Selection
    EndRw = Selection.Rows.Count
    MyMax = WorksheetFunction.Max(MyRange.Columns(3))
    ReDim MyArray(1 To 8, 1 To MyMax)
    ReDim MyArray2(1 To MyMax)
    For lc = 2 To EndRw
        MyStr = MyRange.Cells(lc, 1).Value
        MyCol = MyRange.Cells(lc, 3).Value
        MyRw = Asc(StrConv(MyRange.Cells(lc, 2).Value, vbNarrow)) - 64
        If MyArray(MyRw, MyCol) <> "" Then
           MyArray(MyRw, MyCol) = MyArray(MyRw, MyCol) & Chr(10) & MyStr
        Else
            MyArray(MyRw, MyCol) = MyStr
        End If
    Next
    Set ShMatrix = Sheets.Add
    For lc = 1 To MyMax
        MyArray2(lc) = lc
    Next
    ShMatrix.Range("B2").Resize(8, MyMax).Value = MyArray
    ShMatrix.Range("B1").Resize(1, MyMax).Value = MyArray2
    ShMatrix.Range("A2").Resize(8, 1).Value = WorksheetFunction.Transpose(Array("A", "B", "C", "D", "E", "F", "G", "H"))
End Sub

15 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 00:35:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 連番
最近独学でExcelを使用し、パチンコの予想期待収支計算などを集計しているのですが、
2点質問させて頂きたいのでよろしくおねがいします。

@関数の一部を連番にしたい
A3=A1/(A2/J10)からS3=S1/(S2/J10)まで連番(というのでしょうか)で関数をつけたい。
この場合、関数セルはA3,B3,C3・・・S3になる。
但し、J10の部分は列に依存せず固定値のままにする。

A言葉に二つの数値を意味づけ、関数で計算させたい。
B1,C1に関数を記述する。
B1=(aa*D1) C1=(bb/D1)
A1に海と記入すると、aa=400 bb=100と指定される。
A1に海、D1に10と記述した場合、
B1=4000 C1=10となる。
川と記入した場合はaa=1000,bb=500となる。
故にB1=10000 C1=50となる。
このように、一つのセルにある日本語を入力することで、aaとbbの二つの値が指定されるようにしたい。

以上になります、非常に分かりづらい文章になってしまいました。申し訳ございません。
このような少し複雑な指定の関数の表記法があれば教えて頂きたいです。




16 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 01:10:05
1 オートフィル・絶対参照
2 if関数

無駄に時間かかるから最初は何でもいいから入門書読んだほうがいいよ

17 :15:2008/08/28(木) 01:26:34
>>16
レスありがとうございます。
単語が分かっただけでも十分です、今まではどんなキーワードで検索すればいいかすら分からなかったので・・・。。
色々勉強してきます、ありがとうございました。

18 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 02:13:03
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】トラブル

さっきエクセルの本見ながらスロットの収支を作ってた超初心者です。
2時間くらい奮闘して作成してたのですが、空白部分を指定してテーブルとして書式設定というところで表スタイルを青っぽいのを指定したところ
画面が青くなり上の方にあるボタンがほとんど灰色になって押せなくなってしまいました。
インターネットでしばらく検索してみたのですが、わかりませんでした。
とても初歩的な質問で申し訳ないのですが、元に戻す方法がわかる方、教えてください。よろしくおねがいいたします。

19 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 13:32:58
A列にある数列、B列にある数列で共通のもののみ
抽出するにはどのようにしたらいいでしょうか?アドバイスお願いします

20 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 14:03:09
>>19
C1にif(a1=b1,1,"")
で下にオートフィル、後はC列で1をオートフィルタとか

21 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 14:23:18
>>20
レスありがとうございます
if関数の項目調べながらしてみます

22 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 15:10:30
ActiveXコントロールを殺してくれ

23 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 17:00:31
>>18
テーブルツール  デザイン
っていうタブがメニューに出来てるはずなので、そこをクリックして、
ツールの 「範囲に変換」をクリック

24 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 19:58:02
今まで碌にパソコンを触ったことがなかったんですが今度入社した会社で
Excelとwordが必要になりました。
理解しやすく、必要十分な書籍などありましたらピックアップして教えていただけないでしょうか?

25 :13:2008/08/28(木) 21:21:51
>>14
ありがとうございます。本当に助かりました。

point列が数字じゃなく、文字の時は
対応表のようなものを作って数値にしてしまうしかないんでしょうか?

26 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 21:27:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シート作成 ファイル名 付与

原本となるブックがあり
それを元に
Book1
Book2
Book3
Book4
・・・

と任意の数だけブックを任意のフォルダに作成し
かつブック名に日付(8月1日、8月2日・・)と付けて作成する方法を
教えてください。 
参考になりそうなサイトでも構わないです。
よろしくお願いします。

27 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 21:28:12
>>24
自宅にワード、エクセルがあるなら
FOM
これで十分。

28 :名無しさん@そうだ選挙にいこう:2008/08/28(木) 22:07:59
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ×
【4 VBAでの回答の可否】 ×
【5 検索キーワード     】 テキストボックス 方向キー 左右

お願いします。
テキストボックス内で、方向(矢印)キーを使って
カーソルを移動させる際に、
左右のキーの時のみ逆に移動してしまいます。
よい修正法があったらお教えください。


29 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 10:54:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

置換をする時に例えば01や02に置き換えたいのですが、
どうしても1や2となってしまって0が消えてしまうのですが
どうすれば01や02で置き換えられるでしょうか?

30 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 11:02:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 OK

特定の行(たとえば50行まで 50行以降はOKにしたい)
行の削除・追加を禁止することはできますか?

31 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 11:47:11
>>29
'01や'02と入力
もしくは書式設定で文字列に設定しておくか
>>24
テキトーな本を買って一通り書いてある通りにやってみればいいよ
文字入力・罫線がどうこうなレベルならどの本も大差ない
ちなみにダイソーでも売ってるが内容は他とほぼ同じ

32 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 14:12:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 OK

1 a あ カ
2 b い キ
3 c う ク
4 d え ケ



4 d え ケ
3 c う ク
2 b い キ
1 a あ カ

のようにデータを完全に上下逆に並べ替えたいのです。
何百行もあるし、これからもデータが追加されるので手作業だと大変です。
よろしくお願いします。

33 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 14:28:57
カの右に1から連番を振ってその列を基準に降順で並び替え
追加する時は挿入か、移動辺りか

34 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 15:10:34
>>31
ありがとうございます
書式設定で文字列にしていてもなぜか置換するときだけ
0が省略されて困ってたのですが'01と入力したらクリアできました
助かりました

35 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 16:33:51
【1 OSの種類         .】 Windows2000以降
【2 Excelのバージョン   】 Excel2000以降
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

折れ線グラフを作成したいのですが、
プロットするための元データは、必ず一旦セルに書き出してRangeで範囲指定しなければならないでしょうか。

VBAの変数配列で保持している横軸縦軸のデータを、直接グラフに読み込ませたいのです。

36 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 18:00:36
>>33
ワォ、その方法は思いつきませんでした。ありがとうございました。

37 :名無しさん@そうだ選挙にいこう:2008/08/29(金) 21:37:43
>>26ですが
VBAスレに移動します。

38 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 05:52:55
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

 こんなグラフを作りたいのですが良い方法ありますか?

 5  ■■■■■
10         ■■■■■■■■■■
 5                       ■■■■■
 3                              ■■■
 
 数値だけを入力し、積み上げグラフを自動で作成したい。
 


39 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 07:41:07
>>38
あらかじめ列の幅をそろえておいて
a2=if(a1=>column()-1,"■","")
オートフィルとか

40 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 08:29:26
質問よろしくお願いします。

1−1
と入力すると
1月1日
と表示されてしまいます。

1−1
と入力したらそのまま
1−1
と表示させるにはどうすれば良いでしょうか?

41 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 08:44:36
「’1−1」と入力する
あらかじめ当該セルの表示形式を文字列に変更する

42 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 09:07:13
できました。ありがとうございました!!



43 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 14:16:56
>39できませんでした。もうすこし詳しくおねがいします。

44 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 14:41:56
タブ文字を含んだ文字列をセルに貼り付けて、
「=code(1)」のように、タブ文字の文字コードを取得しようとすると、32(半角スペース)が取得されてしまいます。

「=char(9)」のように書けばタブ文字を表現できることは知っているのですが、
文字列に含まれるタブ文字を、スペースとは区別して処理したいのですが、
どうしたらいいのでしょうか?

45 :44:2008/08/30(土) 14:55:46
あ、詳細を書き忘れました。
44の質問は、Excelの関数だけで解決したいのです。
マクロや、手動で検索するのではない方法はありますでしょうか?

46 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 18:45:49
一つのセルにsum関数の結果と件を表示したい
=fixed(sum(範囲),,) & "件" 
ではうまくいきませんでした。
よろしく。xp 2003


47 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 18:53:30
貼り付けた時点で半角スペースに置き換えられるみたいだから
貼り付ける前に処理しないと区別は出来ないのではアルマイカ。

48 :46:2008/08/30(土) 18:59:05
すまんです。範囲のデータを文字型にしていたのを忘れていたorz
久しぶりだったモンでとんだ勘違いでした。逝ってきます。

49 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 21:47:53
1 XP
2 2000
3 いいえ
4 否
5 If 空白セル

セルAとセルBの数字が等しい場合はセルCに 1
セルAとセルBが空白の場合はセルCに 0

お願いします

50 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 21:49:23
すいません質問させてください
いま
請求先 請求金額
CC工業 256
CC工業 33250
CC工業 48660
CC工業 225
DD商事 746
DD商事    445
LL産業      1125
LL産業      998
LL産業   444
ZZスクール 1258
ZZスクール 19450
株式会社QQ 33804

のような表があって
会社毎に効率よくセルの網掛けをしていきたいんですが
(1こずつフィルターをかけてちまちまやるんじゃなくて)
どうしたらよろしいでしょうか。
おねがいします

51 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 22:40:10
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba find

sheet1をCtrl+Fで検索する時、sheet2のA1セルの内容で検索させるにはどうすればいいですか?
教えてください

52 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 22:50:34
>>49

>>20参照

53 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 22:54:15
>>50
フィルタでやるのが早そうだが


>>51
作業グループでできない?

54 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 23:14:35
>>49
=IF(AND(ISBLANK(A1),ISBLANK(B1)),0,IF(A1=B1,1,""))

>>50
100件くらいなら手動でやったほうが早いだろうが、データが多いか頻繁に行うならVBA使えば良い
VBAに関しては「自分でコード書いて」(>>3★2)

>>51
Sub Find2()
  If ActiveSheet.Name = "Sheet1" Then
    Cells(1).Find Worksheets("Sheet2").Range("A1").Value
  End If
  CommandBars.FindControl(, 1849).Execute
End Sub


をCtrl+Fに登録
シート名の頭が小文字なら書き換えて

55 :名無しさん@そうだ選挙にいこう:2008/08/30(土) 23:46:34
Excel2007ってユーザー登録しないと使えなくなんの?

56 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 00:24:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 if 異なるセルに 

やりたいこと:
例えば、B2は式が入っていないで、ユーザが色々書き込めるとします。
A1にはチェックボックスを作って、B1にリンクさせてあります。
A2に以下の式を書きたいのですが、VBAじゃないとできないのでしょうか?

=IF(B1=TRUE,『B2に空白文字列』,『なにもしない』)

B2には自由に入力出来るように式を入れたくないのです。
要はチェックのON/OFFで指定のセルのクリア(上書きによる)をしたいのです
チェックOFFで値が再現される必要はありません。
方法ありましたら教えて下さい。

57 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 00:31:16
4行目の件が良く分からないけど、
式・値のクリアは関数では無理。VBAや置換などじゃないと
あとそういう場合はコマンドボタンがいいと思う


58 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 00:41:24
あるデータを散布図でプロットして近似曲線の「累乗近似」を出したいんだけど選択できません。
どうすれば累乗近似で出すことができるんですか?
ちなみにそのデータは系列が3つでそれぞれの系列で35個ほどのプロット数です。

59 :58:2008/08/31(日) 00:50:00
解決した
0の値があるとだめなんだな

60 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 09:54:25
俺も旧バージョンのを2007でひらくと28のような症状になるのだが…。


61 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 11:00:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003sp3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 列 文字列 リスト 抽出

1本の列に入力されている内容を確認するために
重複を除いて一覧として書き出す方法ありますか

62 :61:2008/08/31(日) 11:18:12
フィルタオプションの設定ですね
質問取り下げます

63 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 11:32:59
>>61
調べたいのがA列として、作業列の2行目以降に=ISERROR(VLOOKUP(A2,A$1:A1,1,FALSE))と入れてから
オートフィルタでTRUEの行をコピペ

64 :61:2008/08/31(日) 12:21:41
>>63
ありがとうございます。
断然こちらの方法が利用価値高いです。

65 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 15:29:48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 マクロの初歩を一通り眼を通しましたが理解不能

 1  2  3  4
A 3/5 5/5 6/1 7/21 
B 5/2 6/1 6/22 6/27
C 5/3 5/7 5/21 6/1

1.2.3・・・手順
ABC・・・サンプル
日付

このシートを

  3/5 5/2 5/3 5/5・・・
1 A  B  C  
2          A



といった具合に並び替えていく方法をどなたか教えてください(`・ω・´)

66 :前半:2008/08/31(日) 18:15:42
>>65 
Option Explicit
Sub test()
    Dim MyArray() As String: Dim MyRange As Range: Dim MyRange2 As Range
    Dim MaxCol As Integer: Dim MyCol As Integer
    Dim MaxRw As Long: Dim MyRw As Long: Dim lc As Long: Dim CntCells As Long
    Dim Mysh As Worksheet
    Set MyRange = Selection
    With MyRange
        MaxCol = .Columns.Count: MaxRw = .Rows.Count: CntCells = (MaxCol - 1) * (MaxRw - 1)
        ReDim MyArray(CntCells - 1, 2)
        lc = 0
        For MyCol = 2 To MaxCol: For MyRw = 2 To MaxRw
               MyArray(lc, 0) = .Cells(MyRw, MyCol).Value
               MyArray(lc, 1) = .Cells(MyRw, 1).Value
               MyArray(lc, 2) = .Cells(1, MyCol).Value
               lc = lc + 1
        Next: Next
    End With

67 :後半:2008/08/31(日) 18:24:53
    Set Mysh = Sheets.Add
    Set MyRange2 = Mysh.Range("A1").Resize(CntCells, 3)
    With MyRange2
        .Value = MyArray
        .Sort Key1:=MyRange2.Range("A1"), Order1:=xlAscending, _
            Header:=xlYes, Orientation:=xlTopToBottom, OrderCustom:=1
        ReDim MyArray(MaxCol - 1, CntCells)
        For lc = 1 To MaxCol - 1
            MyArray(lc, 0) = lc
        Next
        lc = 0
        For MyRw = 2 To CntCells
            If .Cells(MyRw, 1).Value <> .Cells(MyRw - 1, 1).Value Then
                lc = lc + 1
                MyArray(0, lc) = .Cells(MyRw, 1).Value
            End If
            MyArray(Val(.Cells(MyRw, 3).Value), lc) = .Cells(MyRw, 2).Value
        Next
        .Clear
    End With
    Mysh.Range("A1").Resize(MaxCol, CntCells + 1).Value = MyArray
End Sub

1 日付 サンプル 手順 の形式にして変数に格納
2 新規シートに書き出し・ソート
3 日付の重複を確認しながら変数に格納
4 一時的に書きだしてたデータを削除・最終的なデータ書き出し
の手順で処理してます。

68 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 19:30:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 矢印 色の変更

ドラッグしてマクロを実行すると描画するが、これの色を黒い変更したいです。



69 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 19:32:27
Sub test()
Dim target As Range
Dim arrowLeft As Double
Dim arrowTop As Double
Dim arrowWidth As Double
Dim shp As Shape
Dim myCell As Range

If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Rows.Count > 1 Then Exit Sub
Set target = Selection
For Each myCell In target.Cells
arrowWidth = arrowWidth + myCell.Width
Next
arrowLeft = target.Cells(1).Left
arrowTop = target.Cells(1).Top + target.Cells(1).Height / 2
Set shp = ActiveSheet.Shapes.AddLine(arrowLeft, arrowTop, arrowLeft + arrowWidth, arrowTop)
With shp.Line
.EndArrowheadStyle = msoArrowheadNone
.EndArrowheadLength = msoArrowheadShort
.EndArrowheadWidth = msoArrowheadWidthMedium
End With
End Sub

どなたかご教授ください。
また、現状水平線しか引けないのでかのうなら、斜めもひけたらと思っています。
よろしくお願いします。

70 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 20:34:53
>>68
デバック中にset shp 以降でshp のウォッチ式を見ればわかりますよ

Sub test()
If TypeName(Selection) <> "Range" Then Exit Sub
Set target = Selection
    arrowleft = target.Left
    arrowright = arrowleft + target.Width
    arrowtop = target.Top
    arrowbottom = arrowtop + target.Height
    If Selection.Rows.Count = 1 Then
        arrowtop = (arrowtop + arrowbottom) / 2
        arrowbottom = arrowtop
    End If
    Set shp = ActiveSheet.Shapes.AddLine(arrowleft, arrowtop, arrowright, arrowbottom)
    With shp.Line
        .EndArrowheadStyle = msoArrowheadNone
        .EndArrowheadLength = msoArrowheadShort
        .EndArrowheadWidth = msoArrowheadWidthMedium
        .ForeColor.RGB = 0
    End With
End Sub

71 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 20:36:35
Sub Macro1()
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
Sub Macro2()
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub

72 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 20:47:43
>>68
線を引くだけならこれでいいはず

Sub aaa()
 With Selection
  ActiveSheet.Shapes.AddLine(.Left, .Top, .Left + .Width, .Top + .Height).Select
 End With
 Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
End Sub

>>70
ユニコードを使うとVBEにそのままコピペできなくなるぞ

73 :名無しさん@そうだ選挙にいこう:2008/08/31(日) 21:14:16
ユニコードっつうか文字参照な

74 :65:2008/08/31(日) 21:36:05
>>66
>>67
ご回答ありがとうございます
さっそく試してみます(`・ω・´)

75 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 11:34:57
【1 OSの種類         .】 Windows2000以降
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

シートの保護について質問です。
Excel2000で、2002以降と同じように「セルデータの書式の変更のみを許可する」、というオプションを選ぶ方法はあるでしょうか。

2000で保護対象から「データ」を外すと、書式変更が出来ますが変更したくないセルのデータも触れるようになってしまいます。

2000環境で作成した後、2002環境のマシンにコピーしてシートを保護、という事も出来ますが、出来れば複数マシンを移動したくはないのです。
よろしくお願いします。

76 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 14:19:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

住所が例えば「渋谷1−2−3」となってるとすると
これを2つのセルに「渋谷」「1−2−3」と
一発できれいに分ける方法はありますでしょうか
ちなみに当然ながら「豪徳寺」のように文字数がバラバラ
だったり「○○1297」のようにハイフンがなかったり色々な住所があります
数字は全角です

77 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 14:28:26
補足です
共通するのは漢字やひらがなの文字から数字に変わることと
数字で終わることです
文字から数字に変わるところで切れたらと思うのですが
良い方法ありましたら教えてください

78 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 14:28:53
>>65
Sub hoge()  '日付データ(タイトル以外)を範囲選択して実行する
  Dim ary(), mx, num, i, j, k, tmp
  mx = Selection.Cells.Count - 1
  num = Selection.Columns.Count
  ReDim ary(mx, 2)
  i = 0  '配列に読み込み
  For Each r In Selection
    ary(i, 0) = r.Value
    ary(i, 1) = Cells(r.Row, 1).Value
    ary(i, 2) = Cells(1, r.Column).Value
    i = i + 1
  Next
  For i = 0 To mx - 1  '並び替え(重複データは無視)
    For j = i + 1 To mx
      If ary(i, 0) > ary(j, 0) Then
        For k = 0 To 2
          tmp = ary(i, k)
          ary(i, k) = ary(j, k)
          ary(j, k) = tmp
        Next k
      End If
    Next j
  Next i
  For i = 1 To num  'セルへ書き出し(50行目とする)
    Cells(50 + i, 1) = i
  Next
  For i = 0 To mx
    Cells(50, i + 2) = ary(i, 0)
    Cells(50 + ary(i, 2), i + 2) = ary(i, 1)
  Next
End Sub

79 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 15:02:40
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード】 エクセル MM/DD/YYYY hh:mm:ss
エクセル 書式設定 etc

MM/DD/YYYY hh:mm:ss.nnnのような日時のデータがあります。
具体的には「09/01/2008 15:05:30.676」のような形です。
これをセルの書式設定の変更のみで「hh:mm:ss」で表示できますか?
「15:05:30」と表示できれば良いのですが。
どなたかご教示ください。

80 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 15:47:35
【1 OSの種類         .】 WindowsVista64
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初心者ですが宜しくお願いします。
表を作っていたのですが、いつもどおりセルを選択しようとすると、
複数のセルが同時に選択されてしまいます。
(たとえば目的のセルの下に続けて縦に4コマとか)
新しいドキュメントを作ると今まで通り選択できるのですが、
作業中のドキュメントではどのシートでも同じ症状がでてしまいます。
これはそのような設定があるのでしょうか?


81 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 17:59:31
セルを結合しちまったかな。

82 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 18:53:03
>>69
Sub hoge()
  If TypeName(Selection) <> "Range" Then Exit Sub
  Dim x0, x1, y0, y1
  With Selection
    If .Rows.Count <= 2 Then  '横線
      x0 = .Columns.Left: x1 = x0 + .Columns.Width
      y0 = .Rows.Top + .Rows.Height / 2: y1 = y0
    ElseIf .Columns.Count <= 2 Then  '縦線
      x0 = .Columns.Left + .Columns.Width / 2: x1 = x0
      y0 = .Rows.Top: y1 = y0 + .Rows.Height
    Else  '斜線(選択範囲をドラッグした向きの対角線)
      x0 = .Columns.Left: x1 = x0 + .Columns.Width
      If .Column = ActiveCell.Column Then
        If .Row = ActiveCell.Row Then
          y0 = .Rows.Top: y1 = y0 + .Rows.Height
        Else
          y1 = .Rows.Top: y0 = y1 + .Rows.Height
        End If
      ElseIf .Row = ActiveCell.Row Then
        y1 = .Rows.Top: y0 = y1 + .Rows.Height
      Else
        y0 = .Rows.Top: y1 = y0 + .Rows.Height
      End If
    End If
  End With
  ActiveSheet.Shapes.AddLine(x0, y0, x1, y1).Select
End Sub

83 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 21:28:49
>>79
hh:mmのような日時書式定義が適用されるのはシリアル値(数値)のみ

「09/01/2008 15:05:30.676」ってのが
シリアル値「39692.6288272685…」を「MM/DD/YYYY hh:mm:ss.000」という形式で表したものなら
表示形式を普通に「hh:mm:ss」にするだけでいいが、文字列として入力されてるなら
当然ながら日時書式定義を適用するにはシリアル値(数値)への変換が必要であり、
表示形式は文字通り表示に関する設定で値そのものの変換機能は無いので表示形式だけでは無理

まあ単にVBAで一括置換するなり、関数で別セルにシリアル値変換して、それを値のコピーするなりすれば済む話だがな

84 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 23:01:09
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ×
【4 VBAでの回答の可否】 ×

間違ってセルの文字を消してしまって、Ctrl+Zで戻り過ぎたときには
どう操作すればよいのでしょうか?


85 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 23:05:18
Ctrl+Y

86 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 23:26:28
>>76
find、chooseかindexあたりの関数、rightかleftを組み合わせて使えばいいのはわかるんだが酔っ払っててわからない


87 :名無しさん@そうだ選挙にいこう:2008/09/01(月) 23:31:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 名前をつけて保存 ワークブックを開く

元となるエクセルファイル(home.xls)にデータを入力します。
C1セルに通し番号(001〜)を入力し、【Save】を実行すると「..\Data\通し番号.xls」という風に保存される。
(このときhome.xlsが表示されたまま)
002,003…と次々に入力と【Save】を繰り返し、修正の必要があればC1セルに通し番号を入力し【OpenData】を実行すると「通し番号.xls」が開かれる。
必要なデータを修正した後に【Save】を実行すると「..\Data\通し番号.xls」に上書きで保存される。
…というものを作りたいのですが、【Save】【OpenData】ともにうまくいきません。
参考までに、現在のものを貼り付けてみます。 よろしくお願いします。

Public Sub Save()
Dim path As String
Dim name As String
path = ActiveWorkbook.path
name = Range("C2").Value
ActiveWorkbook.SaveAs Filename:=path & "\Data\" & name & ".xls"
ActiveWorkbook.Close
End Sub

Sub OpenData()
Dim path As String
Dim name As String
path = ActiveWorkbook.path
name = Range("C2").Value
Workbooks.Open Filename:=path & "\Data\" & name & ".xls"
End Sub

88 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 03:07:43
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 あまり使えない。for、if程度。只今勉強中。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム はい いいえ 名前を付けて保存

やりたいことを簡単に書くと、
実行したマクロを起動させ、マクロの処理が終わると、Userformで作ったダイアログが出てくる。

そこには「はい」「いいえ」のコマンドボタンがあり、
「はい」を押すと、「名前を付けて保存」の画面が出るようにしたい。

説明が下手なので、詳細は、アップロードしたエクセルファイルをご覧ください。
よろしくお願いいたします。

【場所】
ttp://applis.servehttp.com/index.htm

【ファイル名】
00024326.rar

89 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 03:08:44
>>88

追記:パスは1984です

90 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 08:38:55
>>38
アクセス禁止のあおりを食って遅くなったけど、自己解決しちゃったカナ?
最近見ないけど、むかしバーチャートでよく使われてた
A列に数値があるとして
1行目: =REPT("■",A1)
2行目: =REPT(" ",SUM($A$1:A1))&REPT("■",A2)
3行目: =REPT(" ",SUM($A$1:A2))&REPT("■",A3) 以下2行目の式をコピー
フォントはMSゴシックなどの等幅フォントに設定

91 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 09:38:31
>>87
> name = Range("C2").Value
C2じゃなくてC1じゃねーの?

> (このときhome.xlsが表示されたまま)
だったらSaveAsではなくSaveCopyAsでCloseは無しだな

Openの方は、
> 「通し番号.xls」が開かれる。
でいいなら、C2の部分と例外処理が取れてない以外は問題無さそうだけど
通し番号.xlsの内容をhome.xlsに反映させたいというのなら話は別だが

というか、こういう場合はデータをExcelブックとして保存するのではなくxmlなどに保存した方がいいと思うけどな

>>88
対象マクロの最後でUserForm1.Show

ユーザーフォームに
Private Sub CommandButton1_Click()
  Application.Dialogs(xlDialogSaveWorkbook).Show
End Sub

ただ、単に「はい/いいえ」の入力を求めて、「はい」の場合に保存ダイアログ出すだけなら
わざわざユーザーフォーム使わずに、MsgBox使った方がいいと思うけどな
If MsgBox("ログと 〜 保存しますか?", vbYesNo) = vbYes Then
  Application.Dialogs(xlDialogSaveWorkbook).Show
End If

92 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 09:56:51
マクロの名前が Save() とか
変数が name とか path とか
やめた方がいいよ

93 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 10:28:27
ABC DEF
GHI JKL
MNO PQR
TUV WXY

って感じの表を作り
ABCの縦の列を全て名前→定義で英語1という名前をつけたとします
それからデータの入力規則、リストで元の値に =英語1 とします

ABCを選択したら別の枠に DEF 、GHIを選択すれば JKL
って感じに出力したいのですがどうすればよいのでしょうか?

94 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 11:25:04
VLOOKUP

95 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 11:32:39
【OSの種類 】 WindowsXP Home SP3
【Excelのバージョン 】 Excel2007
【VBAが使えるか 】 少々
【VBAでの回答の可否】 可
【検索キーワード 】 セルの塗りつぶし

エクセル2007でセルを、「塗りつぶし」ボタンの「標準の色」から任意の色(例RGB 255,255,0)に
塗りつぶしました。
一旦ファイルを保存して再度開いた時にこの色が(RGB 255,255,13)のように
微妙に変わる事があります。
ネットで調べてみましたが該当するトラブルは見つけられませんでした。原因や対処法を
ご存知の方がいられましたら教えて頂けないでしょうか?

96 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 12:40:28
エクセル2003で
突然キーボードの矢印キーがセルの移動ではなくて
スクロールさせるキーになってしまったんですが
元に戻すのは何処の設定でしょうか?

ヒントだけでも頂けませんか><
よろしくお願いいたします。

97 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 12:59:06
>>95
2007で変わったかもしれないが
2003までの仕様では、Excel上ではフルカラー全色が制限無く使えるのではなく
フルカラーの中からパレット上に選択された色しか使えないので、それ以外の色を指定すると
パレット上に存在する近似色に置き換わる


>>96
ScrollLockキーを押せ

98 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 15:04:25
アンケート結果のデータをいつも手作業でやっていたので自動で処理させようかと思い順調にできていたのですが思わぬところでつまづきました


はい A ああ
いいえ C いい
いいえ B かか
どっちでも B ささ
どちらでも B たた
はい C なな

こんな感じの表を
まずいいえ、どちらでも、はいの順番に並び変えて012のアンケートは大きい数字ほど下にしたいのですがどうすればいいのでしょうか?

いいえ 1 かか
いいえ 2 いい
どっちでも 2 ささ
どちらでも 2 たた
はい 1 ああ
はい 3 なな




99 :95:2008/09/02(火) 15:21:41
>>97
回答ありがとうございます。
塗りつぶしの色は、パレット上に最初から配置されている色を選んでも時折このような症状が
出ます。
赤や黄色のように前のバージョンのパレットにもある色は大丈夫なようなのですが、
仕様なのでしょうか・・・。

100 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 20:18:09
>>98
エスパーですが、
データ(D)→並び替え(S)でA列を昇順、B列も昇順にしたらいいのではないか?

101 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 22:18:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 リスト 関数

リストに計と入れ、それを選択すると決められた範囲内の合計が、
決められた場所に表示されるようにしたいです。
できるだけ優しく説明していただければ嬉しいです。
よろしくお願いします。

102 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 22:19:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 リスト 関数

リストに計と入れ、それを選択すると決められた範囲内の合計が、
決められた場所に表示されるようにしたいです。
できるだけ優しく説明していただければ嬉しいです。
よろしくお願いします。

103 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 22:20:51
連投ごめんなさい

104 :87:2008/09/02(火) 22:35:21
>>91
すみません。C2→C1でした。
SaveAsをSaveCopyAsに変えたら思ったとおりの【OpenData】になりました。
ありがとうございました。
ただ、name.xlsを呼び出した後に【Save】すると「..\Data\Data\通し番号.xls」に保存しようとして上手くいきません。

>>92
メソッド名等と被るからでしょうか?
とりあえず、name→FNameとか変更してみました。

105 :87:2008/09/02(火) 22:37:04
>>SaveAsをSaveCopyAsに変えたら思ったとおりの【OpenData】になりました。
SaveAsをSaveCopyAsに変えたら思ったとおりの【Save】になりました。
の間違いです。すみません。

106 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 22:53:09
セクロスの質問所はここですか?

107 :名無しさん@そうだ選挙にいこう:2008/09/02(火) 23:19:26
ちがいます

108 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 06:19:09
並び替えってABCやCBAのやり方は知ってるけどBCAの順番に並び替えできる?
ABC以外の文字はないです

109 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 06:36:03
BCAてどんな基準で並んでるのよww

110 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 08:40:07
>>108
ユーザー設定リストを登録して並べ替えオプションでそれを選択
だと思う

111 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 09:24:28
ピボットテーブルで、年や月毎にグループ分けする方法は
すぐ出るのでわかるのですが
年齢を20代、30代、、、ごとにグループ分けするには
どうすればいいんでしょうか?
よろしくお願いします。


112 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 10:42:56
>38 回答ありがとうございました。

113 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 16:34:46
セルA1 B1 にそれぞれ
A A
A B
A C
A D
B A
B B
B C
B D
に文字を入力したらC3に

A A あ
A B い
A C う
A D え
B A お
B B か
B C き
B D く
という文字を表示したいのですがどうしたらいいのでしょうか?
A+A=あ

114 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 17:18:20
>>113
AA  あ
AB  い
という一覧表を作って
=VLOOKUP(A1&B1,一覧表,2,FALSE)

115 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 18:08:38
一覧表っていう部分だけどそんなやり方でも出来るんですね
B1:G9って感じにいつもしてた

116 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 18:50:15
>>97
ありがと!
なおった!

117 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 19:10:06
私の会社では入社前にクレペリン検査をしてるんだけど検査結果で
af って文字を丸で囲ってる記号があるんだけど
私は af と入力しその上に円を書いている
例えば その文字を A1 に書いてるとし A2 に =A1 と書いても反映されず
どうするのがベストなのかな?

118 :番組の途中ですが名無しです:2008/09/03(水) 19:16:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 行番号 数式 オートフィル 

あるセルにいれた数式を=A1として、→方向にオートフィルでドラッグしたとき
それぞれのセルに入る数式の変化が通常なら=A1、=B1、=C1、=D1となるところを
数式の1の部分だけを+70ずつ増やしていくということはできるでしょうか?
セルに入る数式は=A1、=A71、=A141、=A211、という感じです

119 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 20:00:54
>>117
カメラ機能
>>118
=indirect("A" & column()*70+1)

120 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 20:17:37
>>113
C1に↓これを入れて下へコピー
=CHAR(CODE(JIS(CHAR(CODE(A1)*4+CODE(B1)-44948)))-256)

121 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 20:25:01
 ↑
これはABが全角用だから、半角の時は 44948 を 148 に汁

122 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 22:02:04
xp,2002
複数セルの数式の頭に一気に=を付けたいのですが
どのような方法があるでしょうか?
置換ではできませんでした

123 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 22:51:41
xp2003
マウスポインタと連動して動く、エクセルをみやすくするため?の横棒って
どうやって表示するんでしょうか、、、教えてください。。。


124 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 22:59:51
ロータス1・2・3の質問スレはここですか?

125 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 23:26:20
>>122
vbaで値の頭に=をつける

126 :名無しさん@そうだ選挙にいこう:2008/09/03(水) 23:27:45
>>124
違う


127 :sage:2008/09/03(水) 23:55:11
>>77
こんなのはどうでしょう?

A1セルに住所が入力されているとして、
漢字部分
=LEFT(A1,LEN(A1)-LENB(A1)+LENB(ASC(A1)))
数字部分
=RIGHT(A1,LENB(A1)-LENB(ASC(A1)))

※住所中の全角カナは事前に半角カナへ置換しておく

128 :88:2008/09/04(木) 03:06:05
>>91

ありがとう。
解決しました。
msgboxの方がよさそうですね。

129 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 04:50:19
厨な質問恐れ入ります。
My親父殿がExcel2000を愛用しているのですが、

・この使用期限はいつまででしょうか?
・来年前半あたりには2007を買わせたほうが良いのでしょうか?

130 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 07:39:52
カメラ機能に限らず写真とかをA1に貼ったとする
A2に =A1 にしても画像が表示されないんだが表示する方法はないのでしょうか?

131 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 09:38:36
>>130
だからそれがカメラ機能
>>129
使用期限はない
2007は今のところ買わないほうが良い
個人的にはタダでも使わない(他にエクセル・openofficeがない場合の最終手段)

132 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 09:50:11
>>77
>>127 こんなのも有るよ
「エクセル技道場」ttp://www2.odn.ne.jp/excel/index.html
これを改造すれば出来るよ(ちなみに式は配列式だよ)
> 数字+文字列から数字のみを取り出す
> ○数字+文字列から数字のみを取り出す
> =LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))

133 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 12:20:23
社長  山田太郎  東京都
副社長 山田花子  東京都
取締役 山田次郎  東京等


×10000人分
みたいな文字列のエクセルデータを、3列にして

社長 山田太郎 東京都  副社長 山田花子 東京都  取締役 山田次郎  東京等

として、名簿を横に並べて、印刷したいのですが、どうやったら並べ替えて印刷できますのでしょうか。

134 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 12:54:52
AC 山田A
AB 山田D
AA 山田C
AC 山田B
AA 山田E
を、

AC 山田A
AC 山田B
AA 山田C
AB 山田D
AA 山田E


って感じにしたいのですがどうしたらいいのでしょうか?
AC 山田A
AB 山田B
AA 山田C
AC 山田D
AA 山田E

自分でいろいろすると上のような感じになってしまいます

135 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 13:09:19
AA 山田A
AB 山田D
AA 山田C
AC 山田B
AA 山田E

こんな感じの表があれば左にAAと書いてる横一列のみ出力べーじに
出力するにはデのでしよえたな、

136 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 13:33:23
>>133
汚いけど、A1から社長が始まり、F1に社長、I1に副社長、L1に取締役
だとすると、
F1:  =INDIRECT("A"&((ROW()-1)*2+ROW()))
I1:   =INDIRECT("A"&((ROW()-1)*2+ROW()+1))
L1:  =INDIRECT("A"&((ROW()-1)*2+ROW()+2))
じゃだめかな。もう一ひねりできそうな気がするが。

ちなみに
G1:  =INDIRECT("B"&((ROW()-1)*2+ROW())) (山田太郎を表示)
H1:  =INDIRECT("C"&((ROW()-1)*2+ROW())) (東京都を表示)
あとは同。

>>134
意味不明だな。

AC 山田A
(略)
AA 山田E
を選択(反転)してデータ、山田A優先で並べ替えとどこが違うの?



137 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 13:34:34
>134
二列を選択して並び替えるんだ

138 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 13:43:14
>>136

ありがとうございます。
汚いとはどういう意味でしょうか。

あとそれは、ページ設定→シート→印刷範囲で設定するとそうなるのですか?
それとも他の設定でそのように印刷出来るのでしょうか。
再度質問ですいません。

139 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 13:55:10
>>138
こんなことじゃエクセルは君には無理だ、
入門書を読んでから、またおいで

140 :136:2008/09/04(木) 13:58:08
>>138
汚いってのは、自分が書いた数式のことね。

> ページ設定→シート→印刷範囲で設定するとそうなるのですか?
これじゃ無理。

3列に並べた表を新たにつくって、そっちを印刷しろってことさ。
まず、シートに
>>136 で書いた数式入れてみなよ。
話はそれからだ。

141 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 14:36:21
これ初心者の質問か迷ったんですけど

表をプリントアウトした場合に
2枚目以降も、1枚ごとに先頭に項目名を表示するにはどういう設定をするのか
教えて下さい!




142 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 14:40:06
A1とA2に入力した文字が同じであればA2に 〃 を入力。違うならA2の文字はそのままにする方法ありませんか?

143 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 15:54:10
>>141
ttp://pc.nikkeibp.co.jp/article/NPC/20060712/243055/

>>142
Excelちゃん泣いちゃうだろ。それ。
A1ちゃんとA2ちゃんは同じだから、A2ちゃんを〃にしてと。
あれ?、これしちゃうと。A1ちゃんとA2ちゃんは違うから、
元のA2ちゃんなんだっけ、Excelわかんな〜いっ。
ってならんか?

 A    B
1 笑う  =A1
2 泣く  =IF(A1=A2,"〃",A2)
3 泣く  =IF(A2=A3,"〃",A3)

空白とか全角半角には気をつけるように。

144 :129:2008/09/04(木) 15:59:57
>131
>使用期限はない
>2007は今のところ買わないほうが良い

ご教示ありがとうございました。助かりました。

145 :141:2008/09/04(木) 16:37:15
>>143
ありがとうございます!
しかしせっかくですが、自分はエクセル2007なので
ちょっとやり方が違うようでした。。。

同じ項目を探して辿ったのですが
表示された、印刷のタイトル行に入力ができませんでした。
またよろしくです。。

146 :141:2008/09/04(木) 16:43:36
突然ですが、自己解決しました!!
ありがとうございました。

147 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 17:00:34
>>140

ありがとうございます。
兎に角やってみます!

148 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 18:18:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル マクロ シート 文字列 選択 状態

1年1組 1年2組 1年3組 … 1年10組 2年1組 2年2組 等の

複数のシートがあります。
その中で1年という文字列を含むシート全てを選択状態にしたいのですが、

マクロで出来たと思ったのですが、すみませんがコードをお願いできないでしょうか?


149 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 18:31:51
VBAのMod演算子について質問ですが、10.5 Mod 3.5 は何で2になるの?
0になりそうなものだが。


150 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 18:33:52
>>148
> マクロで出来たと思ったのですが、すみませんがコードをお願いできないでしょうか?
ttp://www.moug.net/tech/exvba/0040032.htm

 "売上表*"  -> "1年*"


151 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 18:41:01
>>149
左の10.5が銀行型丸めで10になり、右の3.5が同じく銀行型丸めで4になる。
すなわち10 Mod 4として計算されるから答えは2で合ってる。

152 :149:2008/09/04(木) 18:53:35
>>151
サンクス、そのように計算されるんですか。
だとするとヘルプはちょっとおかしくないですか?
そのように計算されるなら、resultが少数になることはありえないんじゃ???

153 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 18:58:31
>>152
ヘルプの間違いは探せばいくらでもある。
あまり鵜呑みにするな。

154 :149:2008/09/04(木) 19:06:15
>>153
そうなんですか。困ったものですね。

155 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 19:38:18
まあresultが小数になることは無いから、resultの少数は切り捨てられるってのは
別に書く必要は無いけど、計算時に
> このとき浮動小数点数は整数に丸められます。
と書いてあるんだから、動作としては解説通りで間違ってはいないだろ。

156 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 19:48:51
>>150
ありです

157 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 20:25:48
A1に AA
A2に AB
があり

B1 DAA
B2 DBB
と表示させたくて
B1に=゙D゙A1
B2に=゙D゙A2
を入力しましたがエラーになりました
どうすれば良いのでしょうか?

158 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 20:35:50
B1に=゙D゙ & A1
B2に=゙D゙ & A2

159 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 20:39:48
A1
B1
にそれぞれ1という文字が入ってるとします
=IF(A1+A2,゙good゙,゙bad゙)
だとちゃんと動作してくれるのですが
1の代わりに日本語入れると動作してくれないです
どこをどうすれば改良してくれるのでしょうか?

160 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 20:46:38
ここをこうして改良してみました
=IF(A1&A2<>"",゙good゙,゙bad゙)

161 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 20:52:27
=IF(A1+A2,゙good゙,゙bad゙)って何を求めているの?
動作してくれたの?
漏れのは無理みたいw

162 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 21:05:47
>>155
そうなんだよね。悩ましい。
話題からそれるけれど、
ttp://msdn.microsoft.com/ja-jp/library/se0w9esz(VS.80).aspx
VBから操作しようと思ったら、
例題を実行するVBA以下ソースとまったく違うんだ。こまったもんだ。

Sub main()
    Dim testResult As Double
    testResult = 10 Mod 5
    Debug.Print "Ans1:" & testResult
    testResult = 10 Mod 3
    Debug.Print "Ans2:" & testResult
    testResult = 12 Mod 4.3
    Debug.Print "Ans3:" & testResult
    testResult = 12.6 Mod 5
    Debug.Print "Ans4:" & testResult
    testResult = 47.9 Mod 9.35
    Debug.Print "Ans5:" & testResult
End Sub


163 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 22:14:01
俺の場合、VBでもVBAでもVBSでも
MODは算術計算というよりほとんど条件分けに使ってるから
全然困らないな

算術計算するときは自分でMod関数作れば良いだけだし

164 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 22:17:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(ちょっとだけ)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel コマンドボタン 固定

vbaでコマンドボタンを押す事によりデータ抽出をしているのですが、その過程で
押す前の位置は当然、問題ないんですが押してデータ抽出をすると、行削除をしているからなのかコマンドボタンの位置があらぬ所に変更されてしまいます。
セルK1にコマンドボタンを置くとして、どのようなアクションが起こってもコマンドボタンの位置を固定(K1)にする事などできないでしょうか?

よろしくお願いします。

165 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 23:51:40
>>164
俺の感覚からいくと、処理のためのシートとデータのシートは一緒にしない。
よくわからないから、マクロ記録してみたよ。

質問不明瞭だけど次のようなコードでいけるんでないの?
ボタンは、B3:C4あたりに配置した。(CommandButton1)

Sub Macro()
    Dim cLeft, cTop As Double
    ActiveSheet.Shapes("CommandButton1").Select
    cLeft = Selection.ShapeRange.Left
    cTop = Selection.ShapeRange.Top
    Debug.Print "削除前左:" & cLeft
    Debug.Print "削除前上:" & cTop
   
’削除処理とかここだし。
    Rows("1:6").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Shapes("CommandButton1").Select
    Debug.Print "削除後左:" & Selection.ShapeRange.Left
    Debug.Print "削除後上:" & Selection.ShapeRange.Top

    Selection.ShapeRange.Left = cLeft
    Selection.ShapeRange.Top = cTop
    Debug.Print "移動後左:" & Selection.ShapeRange.Left
    Debug.Print "移動後上:" & Selection.ShapeRange.Top
End Sub

166 :名無しさん@そうだ選挙にいこう:2008/09/04(木) 23:53:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】パワーポイント 文字数 カウント

スレ違いで大変申し訳ありませんが、
パワーポイントのノート画面部分の文字数のみをカウントするマクロって
ないでしょうか?PPTファイル内の文字数をカウントするマクロは見つけたのですが。
ご存知の方いらっしゃいましたら、よろしくお願いします。


167 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 01:03:37
>>166
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1582124&rev=1
と、どう違うか教えて。

おやすみ。

168 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 01:15:06
>>164

プロパティで位置とサイズ固定できなかったっけ?
あれはオートシェイプのみだっけ

169 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 06:16:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1に「1」と入力すると、C1〜E1までが赤くなる(3マス)
A2に「2」と入力すると、D2〜G2までが赤くなる(4マス)
A3に「3」と入力すると、C3〜E3までが黄色くなる(色違い)
A4に「4」と入力すると、C4〜E4までが赤くなる。&1マスごとに「A」と記入される(文字と色)

というのはできますでしょうか?
欲張りすぎていて、難しいでしょうか?ご教授のほどよろしくお願い致します。


170 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 07:29:33
>>169
教授じゃないので難しいことは分からん。

・色を変えたいセルに条件付き書式を設定
・文字を表示したいセルはIF文

171 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 09:45:09
EXCEL2002、厳密にはスレ違いとわかっていて質問

(Excelで)NumLockで数値を入力していくときに、
= を出すにはどうすれバインダー

NumLock状態だと Shift + "‐"では出ないのぜ
毎度解除して = を入力して戻すのは非効率なので
なにか方法があるのだとおもうのぜ

172 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 09:49:19
>>159
( ´,_ゝ`)プッ
あんた、足し算の意味もわからないのか?

173 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 10:06:33
>>171
ノートパソコンのこと?
俺のは「わ」キーのところに*があるためにShift + "‐"で"="が出る
PCを買い換えるかテンキーを買うべし

・・嘘です
ベクターにキーの配置を変えるソフトがあるよ
こういうの何ていうか知らないけど
ttp://search.vector.co.jp/search?query=%83L%81%5B%81%40%94z%92u



174 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 10:14:27
>168
固定できる。
>171
普通は介助しなくても入力できる。
そういう仕様のノートならメーカーを恨め。

175 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 10:15:37
>>155
ヘルプの解説にnumber1とnumber2が丸められるとは書かれてないのは不親切な解説だな。
resultが丸められると勘違いする人が多いと思う。
>通常、演算結果 result のデータ型は、result の値が整数であるかどうかに関係なく
これなんか演算結果が整数意外ありえないんだから書かないほうがいいだろう。
http://moug.net/faq/viewtopic.php?t=32011&sid=a120d9adbac2fe14897054e792ecf5bf
ここにも分かってない人いるしね。

176 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 10:55:00
>>173 ためになるコメントありがとう。
リンク先で検索ワードがわかったので窓の杜でも探してみたけど
よくわからなかったのぜ
会社のノートなのでいろいろ入れるのはこわいのぜ
NumLock状態でまわりのキーをShiiftとかでいろいろためしてみたけど
だめだったのぜ、おっけーあきらめた

>>175 ためになるコメントありがとう。不治通め・・・

177 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 14:05:35
>>175
>>162のリンク読んでみると、VBのMod演算子とVBAのMod演算子と仕様が違うらしいから、間違ってVBのヘルプをそのまま載せたんじゃない?


178 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 15:41:06
=E2
と入力したセルをコピーしたら値が増えるのをなんとかしたい
上記のセルが複数欲しい時は手動で直すのがかなり面倒
なんとかならない?

179 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 15:46:30
フィルコピーなら絶対参照
コピー%ペーストならINDIRECT

180 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 15:47:00
>>178
言いたい事は分かるし解決法も分かるが
お前の態度が気に入らない

181 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 16:14:57
>>177
そうでもないみたい。
解説がいまいちなのは確かだね。

182 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 17:14:09
すみません

   月   日  時   分
   A1  A2  A3  A4
B1  8   1     7    52

これを一つのセルに1:7:52(月は必要なし)という感じに抜き出して日付にしたいのですが
ググってもわからなかったのでここで・・・。
分かる人がいましたらお願いします・・・

183 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 17:19:51
>>178 絶対参照でググるのぜ

184 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 17:22:31
>>182
行列逆にするなよ気色悪いな
=A2+TIME(A3,A4,0)
書式設定は
d:h:mm
だが変わった記述だな

185 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 17:35:01
>>184
ありがとうございます!行と列は普通に書き間違えました・・。
ゆくゆくはこの形式から例えば
1日10時10分が
1日7時52分〜2日3時25分の間なら正、じゃなければ負といったように
時間で範囲指定をするつもりです。問題がなければ・・・

186 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 21:47:10
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 若干
【4 VBAでの回答の可否】 可
教えてください。
20080101
20081005
といったデータ(値)を
2008/1/1
2008/10/5
として表示形式で好きな表示に変える、ということがしたかったのですが、
煮詰まってしまいました。
yyyymmddという形式は決まっているので、ためしに
CONCATENATE(LEFT(A1,4),C1,MID(A1,5,2),C1,RIGHT(A1,2))
(A1="20081010"、C1="/" )
として見かけ上2008/10/10 となっても表示形式で(例えば)10月10日
とはなってくれませんでした。
一連のVBAでの中でつかうので出来ればVBAで解決したいと思っております。
なんかすごく簡単に出来そうなのに出来なくて混乱しております。
なにとぞご教示お願いします。

187 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:00:20
=year(right(a1,4),mid(a1,5,2),right(a1,2))

188 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:01:36
=date(right(a1,4),mid(a1,5,2),right(a1,2))

189 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:01:46
Google DocumentのスプレッドシートにDCount()がなくて対処法を知りたいんですが、
どこで質問したらいいでしょう?


190 :186:2008/09/05(金) 22:29:49
>>187
>>188
早速のレスありがとうございました。
残念ながら>>187は私の理解の範疇を超えてしまいましたが、
>>188は西暦を取得する部分をleftに変えたら、希望通りの
振る舞いをしてくれました!

本当にありがとうございました。


191 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:35:00
笑w

192 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:45:06
助けてくださいorz

セルに「AB CD 」と、BとCの間にスペース、そしてDの後ろにスペースが
入ってます。

TRIM関数を使うとDの後ろのスペースは取ることができますが
BとCの間のスペースは残ります。
このBとCの間のスペースを無くす方法ありませんでしょうか?

よろしくおながいします。

193 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:49:14
置換したら?

194 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 22:52:37
スペースを何に置き換えするんですか?orz

195 :189:2008/09/05(金) 23:02:37
1〜10みたいな範囲で件数を拾いたかったんですが、
関数の組み合わせでできました。
1条件しか指定できないcountif()とfilter()で2条件のand検索できました。

=countif(filter('シート1'!C:C,A3<='シート1'!C:C),"<" & C3)


196 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 23:09:50
>>193
さんくす。でけました。

197 :名無しさん@そうだ選挙にいこう:2008/09/05(金) 23:49:39
以下のような、toggleプロシージャを作りたいと思っています。

Sub toggle(ByRef obj As Variant, ByVal propertyName$)
obj.propertyName = Not obj.PropertyName
End Sub

具体的に、どういうものであるかというと、
今、objというオブジェクトにboolというプロパティが存在し、
その値がTrueであるとします。
それを踏まえ、toggle(obj,"bool")という引数で、toggleプロシージャを
呼び出すと、obj.boolの値がTrueからFalseとなる、というものです。

そこで、質問なのですが、”.”を使わずにプロパティを参照するには
どのようにすればいいのでしょうか。
たとえば、Javascriptだとobj[propertyName]でプロパティ参照できるのですが、
VBAには類似の呼び出し方法は存在しているのでしょうか。

198 :197:2008/09/06(土) 10:57:58
すみません。解決いたしました。
CallByNameをつかうとできるそうです。


199 :名無しさん@そうだ選挙にいこう:2008/09/06(土) 11:00:35
>>194

検索にスペースを指定
痴漢を空白にして置換プッシュ

200 :名無しさん@そうだ選挙にいこう:2008/09/06(土) 14:57:08
スペースはエーテルで満たされておるのじゃよ。
虚無に置き換えるなんぞとんでもない。

201 :分かりません……:2008/09/06(土) 20:46:35
32500を3万2500円と表示するにはどうすればよろしいでしょうか……。

202 :201:2008/09/06(土) 21:03:09
自己解決しました。

203 :名無しさん@そうだ選挙にいこう:2008/09/06(土) 23:15:11
会社で人事の仕事してるのだが、最近は人事移動と同じ日に
限って退職者がいたりして自分で、作ってる入力支援フォーマットが使いにくいので
少し改良しようかと思うのだが自分の力では、限界なので皆さんの力を貸してほしい

例えば、50人異動で1人だけ退職の場合などが対応してないので対応させたい
異動・入社・退職って感じのをクリックで選択できるようにしてたが
大まかな異動・入社・退職をクリックで選択(例として異動)したとする
xxooは退職にさせたいのでクリックで変更したいのだがやり方がいまいちわからない
部長 丸山昭雄(仮) 社員番号xxxxxxx 異動
社員 xxoo 社員番号xxxxxxx 異動
バイト abcdef 社員番号xxxxxxx 異動
パート hooooo 社員番号xxxxxxx 異動

なんか説明がおかしくなってきたorz

204 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 01:31:31
エスパー

205 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 01:40:20
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 印刷 日にち 残したい場合 関数now 技 2002

会社のエクセルのセルに「=now()」(だったか「TODAY」だったか、)といれて印刷します。
「9月7日」と印刷されますが、
このシートを次の日に開くと「9月8日」と印刷されます。
これをやめさせる方法を教えてください。
印刷した日付を、記録しておきたいのです。

具体的に言うと、ブックの中にシートが10枚あり、
全てのシートのA1に「=now()」が入っています。

シートの1枚目から10枚目まで、毎月別々の日に印刷します。
3ヵ月後くらいに、あれは何日に印刷したか確認したいのですが、
開くと日付が開いた日になってしまうのです。
印刷日を変更したくないのですが、そのような関数があれば教えてください。

206 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 02:05:56
>>205
マクロ(VBA)使わないと無理。
VBA不可なら手動で印刷した日の日時を入力しておくしかない。

207 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 02:10:00
>>203
そういうのはよくある。やり方は色々あるけど
一例としては一人ずつ個別に「異動」「入社」「退職」を選択するラジオボタンと
「すべて異動」「すべて入社」「すべて退職」を設定するボタンを付ける。

208 :205:2008/09/07(日) 02:21:26
>>206
(lll´Д`)ヒイイィ!マクロって物理くらいわからん罠。
VBAの修行して行き詰ったらまた来ますw
レスアリがd

209 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 03:08:15
>>208
=new()を使わずに
Ctrl+*とかで日付とか時刻入力すればいい。
手間はかかるが。


210 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 06:19:26
gの列の縦にいくつかの、プルダウンメニューがあって a b c って項目があったとします
全てaにする 全てbにする 全てcにする っていう感じに
プルダウンメニューで、選択できるようにしたいのですが
一括でするには、どうすればいいのでしょうか?

211 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 06:24:39
ちょっと質問です。
プルダウンメニューで 計算する 計算しない が(D7)選択できるとします
=IF("計算する"=D7,1+2=,"計算しません")
こんな感じにしています。
なぜか強制終了くらいますorz
どこがおかしいのでしょうか?

212 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 07:54:06
=IF(D7="計算する",3,"計算しません")

計算式が1+2って決まっているんならそれくらい先に計算し(ry

213 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 11:06:13
とりあえず「1+2=」という書き方はおかしいな。「1+2」にしないと

214 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 13:28:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
出納張を作っています。日付順に記入している支出・収入の項目を別シートで
分類別に内訳を作りたいのですが、どうすればいいのかアドバイス願います。

sheet1
日付     摘要     分類   支出  
2008/9/1  キャベツ   野菜    200      
2008/9/2  梨      果物    300  
2008/9/2  チョコ    お菓子   100
2008/9/3  にんじん  野菜    100
2008/9/3 リンゴ    果物    200
2008/9/4  ポテチ   お菓子   150

これを、sheet 2 で以下のように自動的に表示するようにしたいです。
分類  日付    摘要   支出
野菜 2008/9/1  キャベツ 200
野菜 2008/9/3  にんじん 100
         野菜支出 計 300

果物 2008/9/2  梨     300
果物 2008/9/3  リンゴ   200
         果物支出 計 500







215 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 13:54:31
>>214
データ > 集計 とかじゃだめなの?

216 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 14:44:04
>>215
自分でデータ>並び替え、や、集計などをせずに、
sheet1で入力したデータを別のsheetで並び替えと集計を同時に作成されるようにしたいのですが
それは可能ですか?

sheet1の日付順一覧と、sheet2の分類別一覧それぞれ必要なのですが、
sheet1の項目を埋めたら、sheet2に214のような分類別内訳も作成され、後は印刷すれば
全部出てくる。という形にしたいです。

実際に出納帳に記入していくのはエクセルをあまり知らない人なので、その都度並び替えや
集計など、エクセルの機能を使わせるのは難しく、また色々いじって滅茶苦茶になったりしそうなので、
入力と印刷だけすれば良いというフォームが理想です。

217 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 16:24:37
ピボット厨から勝ち誇ったようなアドバイスがあると思います。

218 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 19:04:17
ありがとうございます。ピボットを調べてみましたが、ピボットの更新をしないと
入力した数値の更新が出来ないみたいなので、自分の狙いとは合いませんでした。

sheetを分けずに、日付順で並んだ項目を分類のA→Z並び替えをして
分類別に表示させ、印刷する、という方法でやってみることにします。


219 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 21:30:20
プルダウンメニューを使ってB2:B100にあるプルダウンメニューを全て同じ値を指定するにはどうすればいいのですか?

220 :名無しさん@そうだ選挙にいこう:2008/09/07(日) 22:28:27
範囲選択してctrl+enterジャ無理か



221 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 00:04:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ダイエットで体重管理をしたいのですが、1日に不定の複数回、時刻もバラバラで体重を量って記録し
グラフ化したいのですが、9/7 6:40 9/7 21:00 9/8 12:00・・・みたいに記述した場合
それぞれが1単位?として等間隔のグラフになるか、データーを表示設定で日付や時刻とすると
日付が単位で同日の複数のデーターは縦に並ぶだけのグラフにしかならないようです。

うまく日付間の該当する時刻にプロットされたグラフを作るにはどうしたらいいのでしょう?

222 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 00:07:57
散布図かな

223 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 00:08:30
あ、グラフは折れ線グラフでやりました

224 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 00:09:41
>>221
欲しい情報の間隔に合わせて空データを挿入する。

225 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 00:14:32
>>222
今、散布図でやって見ました。それっぽいのですがX軸の単位がかなりややこしい状態になりますね。
簡単に日付単位ってわけにはいかなそうです。
>>224
1時間毎とか10分毎に空データを入れるってことですか?う〜ん・・・

226 :221:2008/09/08(月) 00:33:30
ヒントをもらえましたので、もう少し調べればできそうです。ありがとうございました。

227 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 13:37:21
ちょっと質問
このスレ読んでたらプルダウンメニューっていうのを知った
A B C のメニューを選択出来る状態で T1 のセルにA と記入してたら標準でプルダウンメニューをAを選択した状態にしたい
どうすればよいですか?

228 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 14:38:37
>>227
>>1に書かれている必須情報を書いた上で、日本語で質問すると良いと思うよ。

229 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 15:19:43
>>111の質問に回答お願いします。

230 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 15:51:02
>>229
2007ならフィールドの適当なとこで右クリックして「グループ化」選べば
グループ化の単位を指定できるよ。他は今わからんけど

231 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 16:07:36
>>230ありがとうございます。2007です。
それをしてみたのですが
秒・分・時〜年までのグループ化の項目はあるのですが
20代、30代、という区切りらしきものが見当たらないんです。

232 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 16:14:06
┐(´ー`)┌

233 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 16:26:20
>>231
それは元のデータが日付のデータになってんじゃないの?
年齢を表す数値型のフィールド作ればいけるんじゃないかな?

234 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 16:40:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 野崎コンビーフ

エクセルファイルA,Bがあります。

Aは編集用ファイルです。
Aに内容を書き込み、保存を行うと
マクロがその内容をB書き込みます。


このような機能を実装したいのですが、
beforesaveを使うと、マクロの処理と
標準の処理が二つ動いてウザいです。
どうすればスマートに保存できるでしょうか。

235 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 17:46:17
セルに数値入力する際に「〇〇-」といれても「-〇〇」と認識できるようにできませんか?教えてください

236 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 18:05:31
初歩的な質問で申し訳ないですが…
【1 OSの種類         .】 Windows Vista Home Premium
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 アウトライン 上 excel

セルの行をアウトラインでグループ化するときに
│ -
│ -
│ -
└ +
こうなるのですが、

┌ +
│ -
│ -
│ -
こうすることはできないのでしょうか?

237 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 18:15:57
【1 OSの種類         .】 MAC
【2 Excelのバージョン   】 Excel2004
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

文字を画像に置換することは加納でしょうか。

238 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 19:05:20
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1112704276
上のようなことの逆は可能ですか?
 
 例えば、セルAに映画のタイトルが縦に並んでて、
セルBにはその映画の詳細が見れるHPアドレスが沢山並んでます。
 セルBのそれぞれのアドレスを、セルAに一括でハイパーリンクさせる(埋め込む)
方法が知りたいです。
 ご教授、宜しくお願い致します。

239 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 19:40:18
http://pc11.2ch.net/test/read.cgi/tech/1219673793/169

240 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 20:51:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(初心者)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル マクロ オートフィルタ 高速

データがA列からAQ列、3000行くらいのデータがあって毎日追記しています。
この中から、B列にある今日の日付とAQ列に書いた記号を抽出しています。
オートフィルタを掛けて抽出するまでに10秒以上、オートフィルタを解除するのも
同じくらい時間が掛かってます。
これをマクロで抽出して高速化できないでしょうか?

241 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 21:10:00
再計算なしにすると速い

242 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:12:18
Excel立ち上げ直後から、入力モードが
「ひらがな」になるように設定できますか

243 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:15:31
携帯から暇つぶしに遡ります。
マルチ等に回答してしまってたらご勘弁


>>242
VBAで可能

244 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:19:16
>>240
たかが3000行に時間かかるのは???
別の視点からも考えてみましたか?

→他のパソコンで動かすとどうか?(使ってるパソコンのスペック不足)
→リスト内に重い数式がある(数式部分をマクロ化)

245 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:20:33
>>237
>>239ありがと

246 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:23:07
>>237
文面だけ読んで回答すれば「可能」。
エスパー能力あまりないからな・・・

247 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:27:13
>>236
知らない
知ってる人くればいいな

248 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:36:42
>>237
ttp://support.microsoft.com/kb/879892/ja
この辺の話かな?

249 :名無しさん@そうだ選挙にいこう:2008/09/08(月) 23:45:41
>>235
数式と作業列使っていいなら
入力セルがA列だとしたら

B1セル
=IF(ISERROR(FIND("-",A1)),A1,1*("-"&LEFT(A1,FIND("-",A1)-1)))

250 :240:2008/09/09(火) 00:06:39
>>244
やっぱり変ですよね?
ファイルは会社にあるので検証できないですが、先ほど50列3000行のデータを作って
マクロ化してみたら、ほぼ瞬時に動作します。
明日、また会社で検証してみます。

251 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 00:20:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい(初心者)
【4 VBAでの回答の可否】 簡単なら可
【5 検索キーワード     】 Webクエリ

Webクエリを使用して、みずほ銀行の宝くじ当選番号案内から
当選番号のテーブルデータを取得しようと思ったのですが、
選択したいテーブルが、サイト全体しか選択できないため
「取り込み」を押しても全てのソースを取得してしまいます。
必要なテーブルデータだけの取得はできないでしょうか?
参考URL
ttp://www.takarakuji.mizuhobank.co.jp/miniloto/lt6-h2008.html



252 :245:2008/09/09(火) 00:22:45
>>237>>238

253 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 00:42:45
>>251
一応htmlのソースも見ましたが
リンク先がデータテーブルの体をなしてなさそうに見えますが。

→全部「コピペ(テキスト貼り付け)」してから
エクセルで編集が早そうに感じます

254 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 06:12:43
>>242
エクセルが最初に読み込むテンプレファイル、あれの全セルに入力規則をかければいけると思う
手元にエクセルないから試せないけど


255 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 08:07:23
プルダウンメニューの既定値をA1に
入力した文字によって変更する事は可能でしょうか?

256 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 08:37:12
>>255
可能です

君が最低限必要なこと(>>1★4)を伏せてるので
こちらも具体的なやり方の説明は伏せますね

257 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 10:38:33
256さん すいません

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】プルダウンメニュー 値 変化

258 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 11:16:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Excel 同じ値

既出だとは思うのですが、中々見つからないので…
Sheet1 と Sheet2 で以下のようなデータがあったとします。
【Sheet1】 【Sheet2】
A A
1 10 | 20
2 20 | 50
3 30 |
4 40 |
5 50 |
  :
このSheet2をSheet1に合わせる時に、値の横に同じ値を持ってきたいのです。
図にするとこんな感じ
【Sheet1】 
A   B
1 10 |
2 20 |  20
3 30 |
4 40 |
5 50 |  50
  :
 
文面でなんて説明したらいいかもわからず、図での説明になってしまいましたが、
どなたかアドバイスを願いします。


259 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 11:21:52
>>258

なぜ20と50なのか教えてくれ

条件は何なんだ?

260 :258:2008/09/09(火) 11:32:47
言葉足らずですみません。
20と50は特に意味はないです。
要は
Sheet1の値をみて、Sheet2の値がイコールならば、その横のセルにもってくる…
ということをやりたいのですが…
そのことによって比較を行いたいのです。


261 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 11:53:28
>>258

=IF(Sheet1!A1 = $B$1,$B$1,IF(Sheet1!A1 = $B$2,$B$2,""))

これをSheet2のA1に張り付けて下にオートフィルしたあと
Sheet2のB1とB2にその横まで持ってきたい値を入れてくれ

2002なら64ネスト?だっけ?いけるだろ。

う〜ん、非効率な気がするが・・・こんな?

262 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 12:04:17
countifで同じ値見つかったら隣のセルの値表示すればいいんじゃねーの?
sheet1のB1に
=(COUNTIF(Sheet2!$A$1:$A$100,A1)>0)*A1
みたいな感じで

263 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 12:48:51
>>249
できました。親切にありがとうございました。また分からない事があればよろしくお願いします。

264 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 13:05:49
>>233
ありがとうございます。
その通りのようでした。
よく知ってますね、感心どす。助かりました。

265 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 15:07:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】エクセル 関数


A1に A B C のいずれかが入力されるとします
Aを入力すると
A2 に =B2 を入力

Bを入力すると
A2 に =B3 を入力

Cを入力すると
A2 に =B4 を入力

って感じにしたいのですがどうすればいいのかわかりません
どなたかわかる方が居ましたら教えて下さい

266 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 15:56:03
>>265
入力、じゃなくて参照でいいよな?
=INDIRECT("B"&IF(A1="A",2,"")&IF(A1="B",3,"")&IF(A1="C",4,""))


267 :258:2008/09/09(火) 16:46:36
>>261 >>262

ご教授ありがとうございます!!
アドバイスを頂いて、作ることができました!
ありがとうございます!

268 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 16:59:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

エクセルってさ(2007で確認)

列幅とか変えた時にさ(VBA側で)

勝手にActiveXコントロールのサイズ変えるよね?(再現性微妙)

それとも印刷タイトルに含まれているのが原因なのか?(やっぱりVBA側で)

バグ?

F8で確認してみたら縦と横のサイズをどちらか変更したら
もう片っぽがイカれるみたいなんだけど

変更しなくてもイカれるしなぁ(列幅変えたりとかしたら)

オブジェクトのプロパティって意味あんのかよ?
チェック入れてもかわんねーっつうのwww

269 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 18:27:54
日本語でおk

270 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 18:30:10
「勘違いされた、勘違いされた」が合い言葉のwww
創価学会員が通り魔から子供を守るパトロールだといって集団でうろついてるんですが
創価学会員がいつ通り魔に変身しないかとかえって怖いんですけどwww
なんでも通行人をつかまえての誹謗中傷行為や人権侵害行為も
生活安全課の創価警官の●お願い●でやってあげてるんだとか言ってますけどwwwww

熊本隆談www

271 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 18:30:43
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
セル内にhtmlタグ(たとえば<img src="〜"/>)を入力すると
タグの文字列ではなく、画像が表示されてしまいます。
htmlタグをそのまま入力する方法はありませんでしょうか?
セルの書式で文字列としても、画像が表示されてしまいます。


272 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 22:12:14
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
エクセルのVBAを利用して外部のアプリケーションへ
コピペを行いたいのです

VBAでエクセルのデータをコピーし既に開いている
外部アプリケーションのファイル(オフコン)へ画面を切り替えし、
データ貼り付けし、またエクセルへ戻るイメージです

切り替え後はsendkeysでうまくいきそうなのですが、
なにか切り替え方法はありませんか?



273 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 22:16:46
>>271
文字の前に'を打ち込んでは?
(shift+7キー)


274 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 23:06:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】


部署A 永谷公平 コードA
部署A 鈴木一郎 コードB
部署B 佐藤二朗 コードA
部署B 飯島三郎 コードB
部署C 谷川陽水 コードA
部署C 伊藤庸介 コードB

というデータがあるとします
部署がAでコードがAの場合にはABCと表示
部署がAでコードがBの場合にはDEFと表示
部署がBでコードがAの場合にはGHIと表示
部署がBでコードがBの場合にはJKLと表示
って感じにしたいのですがどの関数を使うのがいいのかわかりませんでした
どなたかお手数ですがご教授の方よろしくお願いします

275 :名無しさん@そうだ選挙にいこう:2008/09/09(火) 23:40:25
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】エクセル 関数 文字列


式を教えてください。

A列には文章が入っています。
B列には文章に含まれる単語、C列にはコード番号が入っています。
それぞれ数百〜数千行になります。
A列にはB列の単語のいずれかが含まれる場合には、
単語に対応するC列のコードをD列に表示させたいのですが、
どのような式がよいでしょうか。

VLOOLUPやFINDなどを組み合わせてみても上手くいきません。
お手数ですが、どなたか至急お教え願えますでしょうか。

276 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 04:46:32
またマルチか

277 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 07:28:58
すみません
ほかのスレでも質問しましたがとにかく急いでいるのでお願いします

278 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 07:38:51
単語がひとつならできるわけ?
それでできるならB列ぼ単語をいろんな列に分割しなされ
頭が悪いならその分手を動かしなよ

279 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 07:42:35
EXCELを使ってメールを送信することってできますか。
期限管理表を作ってて、期限の7日前になったら各担当者に
注意喚起のメールを送信するような仕組みを作りたいのですが。

280 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 07:45:55
266のは

B2 B3 B4 の値を読み込んでるけど
B2 C2 D2 の値を読み込みならどうしたらいいの?

281 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 08:22:49
>>275
失敗した式を書いてみたら、修正してもらえるかも

282 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 08:55:58
>>279
できるっぽい
http://www.google.com/search?client=opera&rls=ja&q=vba+%E3%83%A1%E3%83%BC%E3%83%AB&sourceid=opera&ie=utf-8&oe=utf-8


283 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 09:23:37
>>274

作業テーブルが必要になるけど
別シートにこれ作って(Sheet2扱いで)

A列 B列 C列 D列
部署A 部署B 部署C
コードA 1010 1101 1000
コードB 1100 1001 1111

>というデータがるとします
ABC列までしか使っていなくてD列に表示すんなら

            ↓作業テーブルのデータ範囲
=VLOOKUP($C1,Sheet2!$A$1:$D$3,MATCH($A1,Sheet2!$A$1:$D$1),FALSE)
      ↑テーブルのある別シート

くわしくはヘルプで

あと下にオートフィルで。
部署が増えたりコードが増えたりしたらSheet2!のあとがテーブルだから
そこ変えて対応できるでしょ。
空白があるとか糞みたいなことぬかしたらIFERRORでなんとか

284 :283:2008/09/10(水) 09:25:51
Excelからコピったらぐちゃぐちゃになってるw
ひでぇw




285 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 10:16:26
>>272
スレ違いです>>2・7

>>279
出来ますがスレ違いです>>2・7

286 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 11:26:28
A1に文字が入力してあるとする
A2に文字が入力された場合はA2の文字をB2に
A2に文字が入力されてない場合はA1の文字をB2に
入力する方法ありませんか?

287 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 11:33:28
>>286
=if(isblank(a2),a1,a2)ってことかな?

288 :283:2008/09/10(水) 11:45:00
>>286

B2セルに

=IF(A1 = "","",IF(A2 = "",A1,A2))

あとは応用だ。というか入力?VBAつかわないとちょっと・・・

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Me.Range("A1").Value <> "" Then
Me.Range("B2").Value = Me.Range("A1").Value
If Me.Range("A2").Value <> "" Then
Me.Range("B2").Value = Me.Range("A2").Value
End If
End If

Application.EnableEvents = True

End Sub

だろうか?

289 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 16:10:11
プルダウンメニューに
項目A 項目F 項目Iという項目があるとします
A1にAと入力すると 項目Aを選択
A1にFと入力すると 項目Fを選択
A1にIと入力すると 項目Iを選択
するようにしたいのですがいまいち上手いこといきません
どなたか教えて下さい

290 :名無しさん@そうだ選挙にいこう:2008/09/10(水) 16:17:40
>>289
vbaで出来る
が、別に表作ってvlookup使うのが普通
そもそも自動的に変わるならプルダウンの意味なくね

291 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 00:50:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 関数で
【5 検索キーワード     】  何ヶ月たったか エクセル 経過

A1にある日付 例) 2006/5/21 (完全に固定です) B1に =TODAY() 
のときC1にA1の日から現在まで何ヶ月経過したか?を表示したいです。日は切り捨てで月のみ
上記の例だと 2年と4ヶ月で C1は「28」と表示されるようにしたいです。

292 :291:2008/09/11(木) 01:01:01
>>291
見つかりましたので自己解決しました。

http://lib.ac.la/2ch/read.php/pc8/bsoft/1076410405/950

293 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 02:03:38
急かしているわけではないのですが、
>>236どなたか分かるようでしたらお願いします。

294 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 04:49:54
3列1000行ほどあるデータ群から値が最大の行番号を知り、
その行番号の残りの2列の値を表示したいのですがどうすればいいでしょうか?

=ROW(MAX(A1:A65535))で最大値の行番号取得できそうな気はしたのですがエラーが出ました

295 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 06:41:33
>>294
D列にRANK関数で式を入れた後、1をオートフィルタとか
オートフィルタでトップテンの後見比べるか
後者はもちょっとスマートな方法がありそうだけどね


296 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 07:43:02
シートAに社員の社員番号とかが入力されてるとします
シートBにシートAのセルD10〜D800の社員情報に JPDJ と文字が含まれてる場合のみシートBに書き込みしたいのですがどうすればよろしいのでしょうか?

297 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 09:55:45
>>294

=INDEX(B:B,MATCH(MAX(A:A),A:A,FALSE))

A列の最大値の隣にあるB列の値

=INDEX(C:C,MATCH(MAX(A:A),A:A,FALSE))

A列の最大値の2つとなりのC列の値



298 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 10:25:29
>>297
おおお、まさしくそれです。できました。ありがとうございます!

299 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 10:58:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

例えば 別のシートから
=TEST!D5
=TEST!D6
=TEST!D7
というような感じに呼び出してるとします

TESTシートのCの列に〇か×が書いているとします
TESTシートの
C5が〇の場合は=TEST!D5を出力する
C6が×の場合は=TEST!D6を出力しない
C7が〇の場合は=TEST!D7を出力する
ってしたいのですが出来ますか?

300 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 11:01:55
途中で書き込んでしまいました


×の場合は行が開く方法なら関数のIFを使えば出来ましたが
行を開かないように出来ないのでしょうか?

301 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 11:26:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 できれば否

"001、002、003"と3つのエクセルのファイル(以下データファイル)があり
上記の3つのファイルのデータを、"005"というファイル(以下集計ファイル)で集計したいのですが
この場合、データファイルを開いていないと集計ファイル側のデータは更新されないのですか?

各データファイルは毎日更新されるものなので、集計ファイルにシート移動してまとめるのが手間なんです。
何かいい手はありませんでしょうか?

302 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 12:04:40
>>299

=IF(TEST!C5 = "○",TEST!D5,"")

IFぐらいは勉強しようか

303 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 12:06:26
>>299

行を開かないってことは非表示にしたいという事かな?

じゃあVBAのほうがらくじゃね?



304 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 12:28:12
>>299

Private Sub Worksheet_Activate()

Dim lngRow As Long
Dim lngCount As Long

lngRow = ThisWorkbook.Worksheets("TEST").Range("C5").End(Direction:=xlDown).Row

For lngCount = 5 To lngRow

If Me.Range("A" & lngCount).Value = "" Then
Me.Rows(lngCount & ":" & lngCount).EntireRow.Hidden = True
Else
Me.Rows(lngCount & ":" & lngCount).EntireRow.Hidden = False
End If
Next

End Sub


305 :304:2008/09/11(木) 13:52:11
別シートのA列5行目から
=IF(TEST!$C5 = "○",TEST!$D5,"") を下にオートフィルして

別シートのVBAに>>304貼り付けたら動くよね?
2007環境しかないんで2000環境だと実証できんからあとがんば

306 :304:2008/09/11(木) 13:57:47
ワオ 2007ジャン

307 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 14:33:43
C20:C500 まで入力した4種類の文字なのですが
その文字毎にページをわけるにはどうすればいいのでしょうか?

308 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 15:00:38
>>307

シートでしょ?
VBAの方が楽だよってか>>1から読みなおせw

309 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 15:18:15
VBAでもいいので教えて下さい

310 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 15:26:06
いやだ

311 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 16:22:59
>>307

もうちょっと詳細希望
4種類の文字は変わらないのか?
シートに表示するのはどんなかんじ?
文字毎で4シート作成するの?それとも値を写すだけ?
環境ぐらい書け

312 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 17:21:58
>>307

前準備
最低でもC20のセルに値があること
5シート(データのあるシートとデータを移すシート)用意すること
元シート以外のシートの名前を4種類の文字に設定しておく

以上

2回に分けるぉ

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws1_Name As String
Dim ws2_Name As String
Dim ws3_Name As String
Dim ws4_Name As String
Dim ws1_Cnt As Double
Dim ws2_Cnt As Double
Dim ws3_Cnt As Double
Dim ws4_Cnt As Double
Dim End_Row As Double
Dim Cnt_Row As Double

ws1_Name = Sheet2.Name
ws2_Name = Sheet3.Name
ws3_Name = Sheet4.Name
ws4_Name = Sheet5.Name

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

313 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 17:23:24
>>312続き

If Not IsNull(Me.Range("C20")) Then
End_Row = Me.Range("C20").End(xlDown).Row
Else
End_Row = 20
End If

For Cnt_Row = 20 To End_Row
Select Case Me.Range("C" & Cnt_Row).Value
Case ws1_Name:
ws1_Cnt = ws1_Cnt + 1
ThisWorkbook.Worksheets(ws1_Name).Range("A" & ws1_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws2_Name:
ws2_Cnt = ws2_Cnt + 1
ThisWorkbook.Worksheets(ws2_Name).Range("A" & ws2_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws3_Name:
ws3_Cnt = ws3_Cnt + 1
ThisWorkbook.Worksheets(ws3_Name).Range("A" & ws3_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws4_Name:
ws4_Cnt = ws4_Cnt + 1
ThisWorkbook.Worksheets(ws4_Name).Range("A" & ws4_Cnt).Value = Me.Range("C" & Cnt_Row).Value
End Select
Next

With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub


314 :312.313:2008/09/11(木) 17:28:43
>>309

欠点は空白を識別できないのと元シートになにか入力しないとマクロ起動しない点

あとシートは適当にぽこぽこ増やした方を使ってくれよ。元シート=データのあるシートで

Sheet1のVBAに追加すりゃあ他のシートのA列に表示してくれるはずだ



315 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 18:40:11
OS XP EXCEL2003 です

エクセルを開いた時に画面一杯(最大)に表示させたいのですが、画面半分くらいの大きさでしか開きません
最大化させてから、閉じたりしたのですが、やはり画面半分の大きさです
最近になって、エクセルを閉じた時に必ずエラーが出るようにもなったので、この現象が影響を与えているのでしょうか?
いろんなサイトをぐぐってみましたがわからなかったので質問させてもらいました

よろしくおねがいします

316 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 21:21:10
【1 OSの種類         .】 WindowsxpHESP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】?
質問です。
Excel2000を使用しています。
エクセルのシートに、jpg画像を貼り付けたいのですが、
ファイルを開いて貼り付けようとすると、文字化けします。
ヤフーで検索したら、なにやらソフトを買わないと?貼り付け
できないみたいなのですが、別途ソフトなどを購入しないと
いけないのでしょうか?

317 :316:2008/09/11(木) 21:42:28
【5 検索キーワード     】Excel jpg 貼り付け

失礼しました。

318 :名無しさん@そうだ選挙にいこう:2008/09/11(木) 21:43:49
んなこたーない。
挿入→図→ファイルから→好きなjpg選ぶ

319 :316:2008/09/11(木) 21:46:49
ありがとうございます。
今、やってみたら、できました!

320 :61:2008/09/12(金) 03:30:05
【1 OSの種類         .】 WindowsxpSP3
【2 Excelのバージョン   】 Excel2003

海外からもらったファイルに
 ctrl+Pgup → 左スクロール
 ctrl+Pgdn → 右スクロール
こんな動作をするものがあります。どんな仕掛け?

321 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 11:17:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字 挿入 関数 特定文字 など・・・

色々自分なりに検索してみたのですが、わからなかったので質問させてください。

7ケタの数字(0112233)が1列に数万行あり、まず最初に先頭の文字だけをすべて削除。
次に、2文字ごとにハイフンをいれたいのです。
最終的に、11-22-33としたいわけです。
これを効果的に行うためにどうすればいいのか、ご教授お願いしたいです。
よろしくお願いします。

322 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 12:03:05
またプロバイダ規制されたので代理頼んでます。
お礼には来れないですがお願いします;;

マクロで.logという拡張子でファイルを保存するにはどうすればいいでしょうか。
ダイアログを出さずに処理したくてマクロを書いています。
ダイアログでなら、拡張子まで含めて書けばできますが、それをマクロ記録しても
できませんでした。
ActiveWorkbook.SaveAs Filename:="data.log", FileFormat:=xlText, _
CreateBackup:=False
としましたが、data.log.txtになってしまいます。

323 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 12:47:25
>>321
=TEXT(RIGHT(A1,6),"??-??-??")

324 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 12:53:06
あ、02とかゼロが空白になるな。

325 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 12:59:53
>>321
=TEXT(RIGHT(A1,6),"00-00-00")

>>322
リネームすれば。

326 :321:2008/09/12(金) 13:37:52
>>323
>>325
できました。非常に助かりました、ありがとうございます。

327 :名無しさん@そうだ選挙にいこう:2008/09/12(金) 23:27:39
すみません>>315にもお願いします

328 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 05:43:16
>>327
Ctrl押しながら最大化を押してみて。

329 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 12:12:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 近似直線 数値

データの近似直線および近似曲線を描いて
その式を表示させるのはできるのですが、
式の係数をセルに自動でもっていきたいんですけど方法はありますでしょうか?
たとえばy=2x+3という近似直線であればA1セルに傾き2を
B1セルに切片3をもっていきたいです。

330 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 12:25:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 比較 時間 条件付き書式 if 帯グラフ

下記のようなデータが100シート、1シートにつき100件程あるのですが
D E
'2008-07-01 11:20:00.0 '2008-07-01 11:40:00.0
'2008-07-01 11:00:00.0 '2008-07-01 12:00:00.0
'2008-07-01 13:50:00.0 '2008-07-01 14:10:00.0
'2008-07-01 09:00:00.0 '2008-07-01 10:30:00.0

1_09:00___________10:00_____________11:00___________12:00___________13:00___________14:00 15:00~21:00
2_____________________________________________■■
3_______________________________________■■■■■■
4__________________________________________________________________________________________■■
5_■■■■■■■■■
DからEまでの時間を10分刻みで帯グラフのよう(上記の様)にセルを塗りつぶしたいのですが
どのような式を作ればよいでしょうか。

G1 =HOUR($D1):MINUTE($D1)>=9:00<=HOUR($E1):MINUTE($E1)
H1 =HOUR($D1):MINUTE($D1)>=9:10<=HOUR($E1):MINUTE($E1)

を条件付き書式に入力してみたのですが、うまくDEセルからデータを読んでもらえず
オートフィルは10分刻みで時間を増やしてくれるわけもなく詰まってしまいました。
解決案を提示していただけたらと思います。
よろしくお願いします。

331 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 12:30:25
>>329
LINESTという関数で求めることができる。
Excelの近似曲線も実際にはLINESTで係数を求めてからグラフを表示するという処理を内部で行っている。

例えばA1:B10のデータを使って散布図と近似曲線を描いた場合、傾きは=LINEST(B1:B10,A1:A10)で
求められる。あとはぐぐれ。

332 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 12:31:38
>>330
まずは作業列を作って、日時のデータを文字列からシリアル値に変換だな

333 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 13:15:31
>332
F3
=TEXT(D3,"hh:mm:ss")
G3
=TEXT(E3,"hh:mm:ss")
H3
=TIMEVALUE(F3)
I3
=TIMEVALUE(G3)
でシリアル値に変換して

J3以降を条件付書式で
J3
=$H$3>=K1<=$I$3
J4
=$H$3>=L1<=$I$3
.
.
.

k1から先を9:00:00~(シリアル値での入力)

にしたのですが、うまくいかないです。
これはどこが駄目なんでしょうか・・・

334 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 14:28:10
2007で、終了時にいろいろ小細工するマクロを作ったのですが
一度子画面を終了させ、もう一度親画面で子画面を開くとマクロが
動いてくれません。なんかマクロ有効なのに無視されます。

何言ってんのかわかんねぇという方の為に説明しますと
Excelを開くと、「Book1.xls - Microsoft Excel」とか出てきますよね。
その状態で”適当.xls”とか開くとBook1が引っ込んでこっちがが前面にでてきますよね。
まぁ図にすると
        ↓子画面
   親画面┬ Book1.xls
      └(適当.xls)

みたいな感じになってるわけですが、呼び方がわからんので便宜上
これらを親画面、子画面と呼ばせて頂きます。

で、話を戻すと、一度親画面Aで"マクロ.xls"を実行し、子画面だけを閉じ
もう一度親画面Aで開き直すとマクロが無視されます。

新たに立ち上げた親画面では動きます。しかし、Aと同様に一度閉じて開き直すと
やはりマクロが無視されます。

これは自分の作ったマクロがおかしいのでしょうか?
もしそうなら何を弄ってしまうとこうなり、どうすれば子画面を閉じて開いてを
繰り返してもマクロが有効になるようにできるのでしょうか。

335 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 14:36:05
>>334
2007ではブックを開いた時にプロセスが勝手に増えたり減ったりするんで、そのあたりの制御はけっこう面倒だった気が。
ごめん。解決策は俺にもわからん。

336 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 14:39:01
>>333
ヒント AND関数

337 :330:2008/09/13(土) 15:07:04
>336
ありがとう、すっかり忘れてた。
やってくる。

338 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 15:32:27
Excelのセルに住所を書いてリンクを貼り付けて、
そのリンクを押下すると別ウィンドウでグーグルマップを開いて
その住所を表示させたいんだけど
そういった事って可能なんでしょうか?
可能であればどういうやり方があるのでしょうか?

対処のデータが一個二個なら
リンクにアドレスを埋めこんで指定する方法がありますが
さすがにデータが1000、2000になるとそれも厳しいので

339 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 16:13:15
>>330
ちょっと長いけど、グラフ部分全体を選択して条件付書式を設定する。
=AND(TIMEVALUE(RIGHT($D1,10))<=(COLUMN()+47)/144,TIMEVALUE(RIGHT($E1,10))>(COLUMN()+47)/144)

元データ右から10文字に空白が無いように。47はG列を9:00に調整する為。
不等号のどちらに等号を入れるかはお好きに。

340 :330:2008/09/13(土) 16:44:33
無事作成できました、みんなありがとう!

>339
これはすごい・・・・・・

341 :名無しさん@そうだ選挙にいこう:2008/09/13(土) 21:29:02
>>338
住所を指定してGoogleマップを開く

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim 住所 As String, URL As String
 住所 = Target.Value 'クリックされたセルの内容
 
 With CreateObject("ScriptControl")
  .Language = "JScript"
  URL = "http://maps.google.co.jp/maps?z=16&q=" & .CodeObject.encodeURI(住所)
 End With
 
 ThisWorkbook.FollowHyperlink URL 'URLを指定してブラウザを開く
End Sub

VBAにはクリックイベントがないので、俺にはこのあたりが限界だ。すまん。

342 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 01:38:32


343 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 01:40:00
vista office2007が入ってますが2003をインストールすればヤバいでしょうか?

344 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 04:34:42
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 あまり使えない。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 特定のフォルダ データ 集計

やりたいことは、マクロで、特定のフォルダの中に入っているデータを集計したいのです。
月毎に集めたデータを集計し、一年間のデータの推移が簡単にわかるようにしたいんです。
参考までにサンプルコードを作成していただくと、大変ありがたいです。

詳細はアップしたファイルをご覧ください。
お手数ですが、なにとぞよろしくおねがいします。

【場所】
ttp://applis.servehttp.com/index.htm

【ファイル名】
00025563.rar

345 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 05:07:15
>>344
今までのはExcel2003で普通に開けてたのに今回のは開けない
拡張子はxlsになってはいるが、ちゃんと97-2003形式で保存してる?

346 :346:2008/09/14(日) 05:19:10
>>345

passはちなみに"2008"でした。
明記してないのによくわかりましたねw
申し訳ありませんでした。

もう一度確認していただいていいですか?
すべて保存し直したので。
お手数おかけします。

【ファイル名】
00025565.rar

347 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 11:42:19
>>343
共存は可能だけど先に2003を入れないと関連付けがおかしくなるよ

348 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 15:03:06
>>328
ありがとうございます

やhりうまくいきませんでした。あきらめます

349 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 17:15:48
EXCEL関数についてお教えください

あいうえお(abc)
かきくけこ(ほげほげ)
さしすせそ(nekdk)

という行がありまして、()とその中の文字列だけを全部消したいです。
()は全角です。()内の文字、文字数数がことなるので置換が使えないでいます。。


350 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 17:20:40
>>349
=LEFT(A1,FIND("(",A1)-1)

351 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 17:28:42
>>350
すいません 左側も文字数バラバラでした。。

あいうえお(abc)
かきく(ほげほげ)
さしすせそたちつ(nekdk)

352 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 17:42:56
>>349はマルチ

353 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 18:07:19
>>349
簡単だけどマルチなら教えたくない。

354 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 20:53:53
>>351
VBAのInStr関数で『(』の位置を調べれば簡単。

355 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 22:46:21
流れぶった切ってごめん。

古いPCに入ってたオフィス2003のCDで別のPCにエクセルをインストールしたんだが、
エクセルを起動するたびに使用許諾契約書ってのが出てきてうざい。。

これってどうやれば消せるの?ライセンス認証はネット経由で普通に出来たんだけど。

356 :名無しさん@そうだ選挙にいこう:2008/09/14(日) 22:53:21
バンドル版(固有PCとのセットライセンス)は他のPCに入れたらダメだぜ
例え元のPCからアンインストールしたとしても

357 :355@そうだ選挙にいこう:2008/09/14(日) 22:59:44
>>356
そうなの!?知らんかった・・・

ライセンス認証は普通に出来たから問題ないのかとばかり・・・orz

358 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 00:08:56
A4のセルに次の書式を打ち込みたいのです
A1が数字の時は、A2*A3、A1が数字ではない時は文字列を返す
A2*A3が数式エラーで、#VALUEが表示される時は、文字列を表示する
教えて下さい

359 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 00:26:09
>>358
書式じゃなくて数式だよね?A2、A3が空でなければこれで。
=IF(ISNUMBER(A1),IF(ISERROR(A2*A3),A1,A2*A3),A1)

360 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 00:39:44
>>359
ありがとうございます

あともう一つお聞きしたいのですが、

シート2のA1=シート1のA1
シート2のA5=シート1のA2

これでシート2のA列を縦方向にコピー?していくと、シート2のA9がシートになります
シート2のA9をシート1のA3に対応させるためにはルックアップ関数使わなければならないのでしょうか?

361 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 00:47:25
すみません、>>359は、複雑すぎるので、#VALUEの時、任意の文字列を返す方法教えてください。

362 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 00:57:36
>>361
お前Excelに向いてないよ。
IFとかISERRORとかヒントが沢山あるんだから
ヘルプ見るなり、その足りない頭で少しは考えろボンクラ。
さっさと死ねチンカス。


363 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:03:39
>>361
学生か社会人かわかりませんが所属してる母体は5流でしょ?

364 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:15:01
>>363
エクセルの出来具合程度で所属母体を憶測する自分に嫌気がさしませんか?

365 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:18:39
>>360
基本、飛び飛びのセルに対してオートフィルはできないので手作業で式を入れていくしかない。
対象となるセルの数が多いなら式を工夫してコピペできるようにする。
Sheet2!A1==INDIRECT("Sheet1!A"&((ROW()-1)/4+1))

366 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:19:23
>>364
ライフワークなので割り切ってやっています

367 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:28:02
>>361
=IF(ERROR.TYPE(A2*A3)=3,"任意の文字列",A2*A3)

368 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:30:04
>>363は「在宅Excel能力検定員」だから逆らっちゃらめ

369 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:31:48
>>361
=IF(ISERROR(A2*A3),">>361はチンカス野郎",A2*A3)

">>361はチンカス野郎"にお前の言う任意の文字列をあてはめろチンカス。

370 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 01:58:09
>>369
例えばセルが数千あって、そこに数式が数百個組み合わさってるシートに、エラーがランダムに数百のセルにちらばってる場合でもこの数式を間に入れなければ?
書式設定で、もっと簡単にできないでしょうか?

371 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 02:10:15
>>370
書式設定では無理。
そんなエラーだらけのデータベース(と呼べるかわからんもの)を
作るほうが悪いかも。

372 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 08:43:27
>>370
ようするに、エラーが出たときに「#VALUE!」のかわりに自分で設定したエラーメッセージを出したいってことか個とすんだな。
そういう場合はVBAを使う。

つーか、Excelの使い方が根本的にわかってない気が。

373 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 12:19:20
>>370
できないものはできない。
この程度の式が難しいならExcelはむいてないよ。

374 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 12:44:24
日付を入れてオートフィルをすると、
9月14日
9月15日
9月16日
ってなってしまいます
他のセルも一緒にオートフィルを使いたいのですが、特定セルのオートフィルを解除するにはどうしたらいいですか?
文字列最初に「'」つけてもだめだし、書式設定で文字列と指定してもだめでした

375 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 13:19:02
日付だけを先にCtrl押しながらオートフィルすれば?
つーか質問テンプレぐらい使え。もっと具体的な回答が期待できるのに。

376 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 16:44:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Excel 2007 セル ロック

質問です。
A1とA3に必要なデータを手入力で打ち込みたいのですが
A1からA3まで選択するとA1の入力が終わった時に次はA2に入力セルが移動しますよね。
A2を選択せずにA3に移動出来るようにA2のセルをロックすることは出来ないのでしょうか?

ちなみにセルの結合とかそういう意味ではなくA2は残すけど選択すらしないように
したいのです。数式やデータを保護という意味でもないです。

わかりにくくて申し訳ないんですがよろしくお願いします。


377 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 16:47:42
>>376
Ctrlを押しながらA1とA3をクリックして選択しておく。そうすると
A1にデータを入れてEnterを押すと自動的にA3にカーソルが飛ぶようになる。

378 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 16:55:43
>>377

素早いレスありがとです。

申し訳ないんですが一つ質問が間違っておりました。
A1とA3ではなく、A1とC1でして
その後ずっとA100とC100ぐらいまで続くのです。

入力後のセルの移動を右にしていても離れているせいか
A1のあとにC1ではなくA2が選択されてしまいます;;

379 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 17:23:18
>>378
とりあえずA列とB列にデータを入れて、あとでC列にコピペすればよかろう

380 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 19:26:31
>>378
作業中はB列を非表示にしとけばOK

381 :61:2008/09/15(月) 21:43:53
そして入力範囲を選択してから打ち込みをはじめる

382 :344:2008/09/15(月) 22:09:59
申し訳ありません、どなたかサンプルを作成してくださるかたはいらっしゃいませんか?

383 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 22:30:41
INDIRECT でドロップダウンリストを作ってます。


食物→果物→りんご→青森→特売→150円

食物〜特売
まではドロップダウンで選択して
最終項目 150円だけは
決定事項にするとき

どのようにやればよいか

どなたか教えてください!

384 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 22:33:02
>>382
そういう時は「統合」機能を使う。
ttp://www.takenet.or.jp/~hayakawa/excel0/u-tanexcel51.htm

統合したあと、ピボットテーブルを使えば一発で望み通りの集計結果が出る。
説明を見てるだけだと難しそうだけど、やってみれば意外と簡単だから
とにかくいっぺんやってみ。

385 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 23:16:19
Sub RETRIEVE()
ThisWorkbook.Sheets("年間出荷量").Activate
For M = 0 To 11
YYMM = Format(DateAdd("M", M, "2008/4/1"), "YYYY-MM")
YYMM = Replace(YYMM, "2009", "2008")
For I = 0 To 19
INTR = I \ 4
INTC = I Mod 4
Cells(3 + I, 4 + M) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\集計したいファイル\[" & YYMM & ".XLS]出荷量'!R" & 4 + INTR & "C" & 3 + INTC)
Next I
Next M
End Sub

お待ち。
これをtotal.xlsの標準モジュールにコピーして実行

386 :>384:2008/09/15(月) 23:36:41
よくそんな的外れな機能をわざわざ捜してくるなあ…

387 :名無しさん@そうだ選挙にいこう:2008/09/15(月) 23:45:56
これがピボット厨ってやつか…

388 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 00:57:46
エクセルってどこでダウンロードすればいいんですか?

389 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 01:53:48
>>388
ttp://trial.trymicrosoftoffice.com/trialjapan/product.aspx?sku=3121199&culture=ja-JP

390 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 07:20:04
>>312-313
が自分の作ろうとしてる表にも作れそうなので使おうとしてるのだが
変える場所がよくわからない
以下以外に変更する場所ある?

ws1_Name = Sheet2.Name
ws2_Name = Sheet3.Name
ws3_Name = Sheet4.Name
ws4_Name = Sheet5.Name



391 :334:2008/09/16(火) 09:18:00
>>335
ありがとうございます。
マクロが原因というわけではないようですので
変にがんばらず親画面を閉じるように致しますです。

392 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 10:05:33
>>390

無いよ。つうかどこも変える必要ないはずだが。
Sheet2とかはシート作成順で変わるからねぇ。

393 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 11:30:10
312
とかのマクロとかってどうやって使うの?
いまいち使い方分からないんだが。

394 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 12:30:37
>>393

自分じゃ使わんよ。
使うのは Private Sub Worksheet_Change(ByVal Target As Range) だって。
どんなタイミングで実行されるかは ぐぐれ

395 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 12:43:45
それは調べたらわかったけど
312 313 のプログラムみたいなやつはどこに貼付けたらいいの?
ツール → マクロ → マクロ
でいろいろとしてるがいまいちわからない

396 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 12:57:03
>>395

Alt+F11 同時押ししてでてきたやつのSheetのところ

397 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 12:58:49
>>312-313のあれは元のシートに入力したら他のシートにデータ追加してるだけ



398 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 13:14:02
Alt+F11 押したらなんかmacro1ってシートがでてきた
A1のセルに入力しても変化なし
どこの入力したらいいんだ?

399 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 13:46:16
少なくとも前準備が必要・・  ってすまんな。2007環境でしか試してねぇや。
ちなみにコード見たらわかると思ったが入力はC20から下だぞ

400 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 13:48:28
312
そのマクロだけど

If Not IsNull(Me.Range〜
って行で

Microsoft Visual Basic
コンパイル エラー
Me キーワードの使用方法が不正です

って出ない?

401 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 14:04:48
でんな。じゃあもっと明示的に宣言してあげて

402 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 14:05:50
Me.Range("C20")

Me.Range("C20").Value
とか?

403 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 15:14:34
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007

人の作った表で、ウィンドウ枠が固定させているのですが
自分が解除しようとしたのですが、ウィンドウ枠の固定・解除ボタンが押せない状態です。(色も薄い)
同じブックに新たに自分でシートを作ってみると
その新たなシートでは、ウィンドウ枠の固定・解除ボタンが色濃く押せます。

前述の他人が作ったシートから枠を解除するにはどうすればいいでしょうか?
よろしくお願いします。


404 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 16:48:15
>>403
「校閲」→「シート保護の解除」

405 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 17:36:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】少し
【4 VBAでの回答の可否】 可

エクセルシートを作る中で壁にぶつかり、質問させていただきました。


セルに以下のようにに入力されているとします。
130
120
110
100
90
80

やりたいことは、こんなことです。
@「102」にもっとも近い値を判定しその隣のセルに「0」を表示。
A2番目に近い値を判定し、@で判定した数値より高い場合は「1」、小さい場合は「-1」を表示。
B3番目以降は、@で判定した数値より高ければ「2」、低ければ「-2」をそれぞれ表示させる

イメージは以下のようなものです。

130 2
120 2
110 1
100 0
90 -2
80 -2

ご教授、宜しくお願い申し上げます。

406 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 17:45:21
>>405
作業列に=ABS(102-A1)と入れて、RANK関数を使えば近い順番が出る。
ちょっと時間がないので、あとは誰かにまかせた。

407 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 19:53:51
>>398
それはたぶんCtrl+F11を押してるよ

408 :49:2008/09/16(火) 19:59:45
>>54
とても遅レスですが、ありがとうございました。

409 :名無しさん@そうだ選挙にいこう:2008/09/16(火) 23:14:20
>>405
作業列がB2:B7の場合
=IF(RANK(B2,$B$2:$B$7)=1,0,IF(RANK(B2,$B$2:$B$7)=2,1,IF(A2-102>0,2,-2)))

410 :344:2008/09/17(水) 01:44:57
すいません、ここのfor文の意味がいまいちよく理解できないのですが、
なぜに変数Iを4で割る必要があるのですか?

For I = 0 To 19
INTR = I \ 4
INTC = I Mod 4
Cells(3 + I, 4 + M) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\集計したいファイル\[" & YYMM & ".XLS]出荷量'!R" & 4 + INTR & "C" & 3 + INTC)
Next I


411 :八作○:2008/09/17(水) 03:05:51

  火 が 消 え る
 ニ ル ヴ ァ ア ナ


412 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 06:56:47
元のExcel見ずに無責任に口挟めば
元データが4列に並んでるからそれを順番に見に行ってると思われ

413 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 07:09:25
>>409にAの場合分けも反映させるなら作業列がB2:B7の場合
=IF(RANK(B2,$B$2:$B$7)=1,0,IF(RANK(B2,$B$2:$B$7)=2,1,2))*IF(A2<102,-1,1)
かな。そこまでする必要あるかわからんけど

414 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 07:29:24
A部署、B部署、C部署、D部署
という各シートがあるとします
各シートのA20:F20に社員のデータとかが書いてるとします
出力というシートを作成してどこの部署のデータを出力するか選択しシートに出力したいのですがどうすればいいのかわかりません
関数ではちょっと実現できずに困ってます

415 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 07:46:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL ワークシートまたぐ

株式の購入しようかと思っている銘柄の財務状態などを簡単に見比べれるようなものを作りたいと思っています

ワークシート1に
A列に4桁の銘柄コード、B列に現在の株価、C列に一株資産、D列にPBR、E列にPER
で全銘柄分のデータを作っておいて

ワークシート2で
A列に4桁の銘柄コードを打ち込むと
A列の4桁のコードを元に自動的にB列に現在の株価、C列に一株資産、D列にPBR、E列にPERをワークシート1を参照して値を持ってくる
ということはEXCELの関数やVBAを使うことで可能でしょうか

何かをもとに何処を参照するというものの書き方を教えていただけないでしょうか
よろしく願いいたします

416 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 08:07:24
>>414
わざわざシートそのまま抜き出す必要あるのか疑問ながら関数での解決例

出力シートを作ってA1が部署名(シート名)入力セルとすると
出力シートA2に
=INDIRECT(ADDRESS(20,COLUMUN(),1,0,$A$1))
F2までコピペ

417 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 08:11:22
>>415
VLOOKUPをイルカに聞いてみれば解決かと

418 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 08:25:30
>>416
それだと部署選択出来ないですよね?
AとB部署のみ出力
B部署、C部署、D部署のみ出力という感じに出力したいのですが。

419 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 08:26:59
>>417
ありがとうございます
やってみたら美味く出来そうです

作業量がめちゃくちゃ減りそうです




420 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 08:37:09
>>418
出力シートを作ってA1:A5が部署名(シート名)入力セルとすると
出力シートA6に
=IF($A1="","",INDIRECT(ADDRESS(20,COLUMUN(),1,0,$A1)))
F10までコピペ

これくらいの改変は自分でやってくれ〜

421 :420:2008/09/17(水) 08:49:52
>>418


関数間違えてるなごめん
出勤中の携帯だからほかにも間違えてたら修正してくれな

> 出力シートを作ってA1:A5が部署名(シート名)入力セルとすると
> 出力シートA6に
> =IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,0,$A1)))
> F10までコピペ

> これくらいの改変は自分でやってくれ〜

422 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 09:01:08
>>420
A部署、B部署、C部署、D部署
という各シートが四つあるんですけど?
勘違いされてる気がします

423 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 10:29:14
>>414
出力シートのA1に「A」〜「D」いずれかを入力
A2に=INDIRECT($A$1&"部署!"&"A20")
A3に=INDIRECT($A$1&"部署!"&"B20")
(横向きがいいならB2にでも)
・・って形で数式最後の「A20」やらを変えていけばok

オートフィルできるようにしたかったが20個ぐらいなら手作業でいけるしょ
>>416は何がしたいかよくわからん

424 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 11:14:36
>>423

なかなかやりたい感じになってきました
A部署とB部署を出力したい場合はどうすればいいのでしょうか?

425 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 11:32:12
>>424
出力シートのB1に「A」〜「D」いずれかを入力
B2に=INDIRECT($B$1&"部署!"&"A20")
って感じで横に四つ並べたら?
というかもしかして
=A部署!A20
で良かったりする??

426 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 12:00:59
Aの列を昇順で並べつつ同じ文字があれば
Bの列にある数字昇順で並べたいのですが
それをボタンをワンクリックで実行する事は可能でしょう?

427 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 12:22:04
VBAでコマンドボタンに登録
マクロの記録と組み合わせれば簡単にできる

じゃなきゃ素直に2列選んでデータの並べ替え

428 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 13:26:10
そのやり方がわからない

429 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 13:56:34
>>428
A-B列二列としたら両方選択してメニューバーのデータ→並べ替え
最優先されるキーとか二番目に優先されるキーとか

430 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 15:40:22
それはわかるけど

> VBAでコマンドボタンに登録

がわからない

431 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 16:15:04
>>430
ttp://www.google.com/search?client=opera&rls=ja&q=vba+%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%9C%E3%82%BF%E3%83%B3&sourceid=opera&ie=utf-8&oe=utf-8

432 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 16:45:43
>>423
=INDIRECT($A$1&"部署!"&"A20")
だけどうちも少し改良して使う予定だが
値がないと 0 と表示されてしまう
なんとかならない?

433 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 17:30:34
>>432
=if(INDIRECT($A$1&"部署!"&"A20")=0,"",INDIRECT($A$1&"部署!"&"A20")
この形は覚えておくと便利だよ

あとはツール、オプションの中のゼロ値のチェックをはずしても0が表示されなくなる


434 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 17:48:47
複数列で使いたいみたいだから
=INDIRECT($A$1&"部署!"&"A20:F20")
を複数の列(A1〜F20とか)に貼り付けるべきでは?

飛ばし読みで解釈して横槍入れてみるw

435 :434:2008/09/17(水) 17:56:24
訂正
×A1〜F20とか
○A20〜F20とか

1行分なのに勝手に複数行にしちゃだめですねw

436 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 19:02:21
ある表が既に集計されているかどうかを
判定するにはどうしたら良いですか?

437 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 21:09:42
その表を作成した人に、集計したかどうか聞くのがよろしいかと。。

438 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 21:21:30
オートフィルタなら
Activesheet.Autofiltermode
で判定できるんだけど、Subtotalにこれに該当するものはないのかなー
>437
解らないならつまらん茶々入れるな

439 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 21:24:23
>>438
そういうおまえも結局わかってないんじゃん

440 :436=438:2008/09/17(水) 21:28:10
俺質問者本人だし

441 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 22:01:08
質問です。
>>1-3あたりを読まないで答えを求めにくる人がいるのはなぜですか?


あ、スレ違いでしたね。失礼しました取下げます。

442 :437:2008/09/17(水) 22:02:35
>>436>>438
だいたい、質問がアバウトすぎ。
もう少し解りやすく質問しろよ

443 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 22:03:47
バカは相手にしないほうがいいよw

444 :421:2008/09/17(水) 22:25:36
帰って来て今みたらまだ式が間違えてたねーさらに修正

入力シート作って入力セルがA1:A5までの場合
入力シートA6に
=IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,1,$A1)))
F10までコピペ


今度はExcelで試したから間違いない頭の中だけで回答して混乱させてすまんー


もうすでに別解が主流か・・・そっちに合わせて「A,B・・・・」のみ入力バージョンに変えれば
=IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,1,$A1&"部署")))

お邪魔しましたm(__)m

445 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 22:28:49
Excel2003です。
ハイパーリンクを設定するとそのセルの文字が
青文字になり、一度クリックすると紫文字になって
しまいます。
これを任意の文字色に設定できますか?

446 :445:2008/09/17(水) 22:33:10
>>445
すみません、自己解決しました。
セルの書式設定で文字色を変更すれば大丈夫でした。

とりあえずはこれで大丈夫ですが、最初からハイパーリンク
を設定しても文字色が変わらない設定があれば教えてください。



447 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 22:47:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 (不明)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】Excel 2003 セル 検索


Excel2003 で、セルに記述された文字列をシート全体で検索してヒットした
場合、セルの枠が反転?してその場所にジャンプしますが、大きなモニター
で表示していた時、どのセルにカーソルが移動しているのか良く判らないで
探してしまう事があります。ジャンプ位置を着色するなど判別しやすくする方法
は無いでしょうか?


448 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 22:57:07
>>447
検索押して選択セルが移動した時にツールバーで色つけるのは邪道?
あとで戻すのが面倒だけど。

自分の場合は行列番号の色が変わった所を目安にしてる。
後は名前ボックスを見るとかもありかも。


>>447
後から神様がくるかもしれないけど
多分標準機能では無理かと。

449 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 23:06:59
>>447
Excelを閉じてデスクトップを右クリック、プロパティ→デザイン→配色を「ハイコントラスト 白」にすれば
カーソル位置がとてもわかりやすくなる

450 :名無しさん@そうだ選挙にいこう:2008/09/17(水) 23:09:04
>>448の下段は>>446宛ね。
スレ汚してばかりで駄目だなorz

451 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 00:57:11
>>447
2007でしかチェックしてませんが、
VBエディタ開いて 対象のシートに次のコードを張ってください。
Option Explicit
Public MyObj As Object
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not MyObj Is Nothing Then
        MyObj.Delete
    End If
        Set MyObj = ActiveSheet.Shapes.AddShape(msoShapeRectangle, Target.Left, Target.Top, Target.Width, Target.Height)
        With MyObj
            With .Line
                .ForeColor.RGB = 255
                .DashStyle = 1
                .Weight = 4
            End With
            .Fill.Visible = msoFalse
        End With
End Sub


452 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 10:45:44
【1 OSの種類】 Windows2000
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】可
【5 検索キーワード】比較 diff 一致 色

【6 質問の内容】
「B列に文字が入力されているファイル」、
「適当な行列に文字が入力されているファイル」
2つのファイルがあります。
「B列に文字が入力されているファイル」にある文字が、
「適当な行列に文字が入力されているファイル」にもあった場合、
「適当な行列に文字が入力されているファイル」の一致した文字に
色を付けたいのですが、どのような関数を使えば良いでしょうか?

453 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 12:00:26
>>433
> =if(INDIRECT($A$1&"部署!"&"A20")=0,"",INDIRECT($A$1&"部署!"&"A20")
A1の値がない時に何も出力されないようにしたいのですがどうすればいいですか?

454 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 12:04:53
>>452
多対多の検索はVBA使わないと無理。不可能じゃないけど面倒すぐる。
あと、質問の内容がちょっと愛麻衣で、このままじゃプログラム作れないから、
データの入っているセルの範囲とかファイル名とか、もう少し具体的に書いて。

455 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 12:05:17
>>453
その式全体をIF関数で囲む。

456 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 13:03:34
>>452
条件付き書式でcountifでいいんでないそれは?

457 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 14:51:43
[2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
[0568-81-4141????0568-81-3123]
[master@kcci.or.jp|]
[http//www.kcci.or.jp/?]



[春日井][486-8511][愛知県春日井市鳥居松町5−45][0568-81-4141][0568-81-3123][master@kcci.or.jp][http//www.kcci.or.jp/?]

という風に変換したいのだけど、どうすればいいか教えてください。

458 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 14:55:30
>>452のを勝手にまとめてみると
ファイルA(の特定の列)に入っている文字列でファイルB(の任意のセル?)を検索して
一致した「文字」に色を付ける

と読めるな
さて、色をつけるのはAとBどっちだろうか?

459 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 14:58:07
失礼しました。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 不可
【4 VBAでの回答の可否】 不可

[2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
[0568-81-4141????0568-81-3123]
[master@kcci.or.jp|]
[http//www.kcci.or.jp/?]



[春日井][486-8511][愛知県春日井市鳥居松町5−45][0568-81-4141][0568-81-3123][master@kcci.or.jp][http//www.kcci.or.jp/?]

という風に変換したいのだけど、どうすればいいか教えてください。

460 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:00:32
オートフィルタだけど特定の文字しか表示させないようにさせると
行が飛ぶのをなんとか出来ない?

461 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:01:28
>>457
最初に確認だけど、元データは本当にその通り?
最初の数字は必ず4ケタ?
カッコ”[”もついてるの?
必ず四行で一つ?
メールアドレスまの最後には”|”が必ずついてるの?そのままでいいの?

元データそのものを見せてもらわないと確実な処理が出来ない気がする


462 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:02:32
>>460
コピーして貼り付けすれば間の行を消すことが出来る
が、数式が入ってると面倒なことになる可能性も

463 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:06:15
>>461
レスありがとうございます。
・最初の数字は必ず4桁です。
・[ ]は[ ]内がひとつのセルであることを表しています。元データには入っていません。
・必ず4行で1セットです。セット間に2行何もない行があります。
・メールアドレスの最後の | はミスです。元データには入っていません。

よろしくお願いします。

464 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:08:15
>>462
数式なんで悩んでる

465 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:14:12
>>459
VBA不可だからFINDとMIDを駆使してやるしかないかな?

あとテンプレしっかり読もうな


466 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:17:15
関数でA1とA2に数字が入力してるとします
A1の数字の行数をシート1から抜き出し、その下にA2の数字の行数だけシート2を抜き出す方法は無いでしようか?

467 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:20:36
>>465
VBA可に変更してもいいですか?


468 :465:2008/09/18(木) 15:31:47
>>467
いいんじゃない?

とりあえず住所の部分の関数での分解方法考えてみた
A1 [2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
B1 =FIND("-",A1)
C1 =MID(A1,6,B1-6-3)
D1 =MID(A1,B1-3,7)
E1 =MID(A1,B1+5,LEN(A1)-B1+4)

やりたいことはこれで合ってるかな?

469 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:32:01
>>467
大体できたぞ
後聞き忘れた。二行目は電話番号と恐らくFAX番号なんだろうけど、その間の????は必ず四つでいいの?
????から変わることはある?


470 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:39:37
>>464
値だけほしければ最初にシートごとコピー、全セルを値にして貼り付けてから
オートフィルタ、貼り付けってやるかな
数式を他にも使う場合は、その場合によるとしか答えられない

471 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:39:44
>>468
Excelに疎すぎてこの関数が解読できませんが、多分あってます。
この4行の塊が全国の市町村の数だけあって、それを1行にまとめたいのです。

>>469
????は元データを見てみたら半角スペース4つでした。
常に4つです。

472 :465:2008/09/18(木) 15:41:11
ミスってた
×D1 =MID(A1,B1-3,7)
○D1 =MID(A1,B1-3,8)

473 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:44:12
>>459
出来た
A列に元データがあるとする
B1=MID(INDIRECT("A"&INT((ROW()-1)*6)+1),6,FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)-6)
C1=MID(INDIRECT("A"&INT((ROW()-1)*6)+1),FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)+1,8)
D1=RIGHT(INDIRECT("A"&INT((ROW()-1)*6)+1),LEN(INDIRECT("A"&INT((ROW()-1)*6)+1))-(FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)+8))
E1=LEFT(INDIRECT("$A"&INT((ROW()-1)*6)+2),(FIND("?",INDIRECT("$A"&INT((ROW()-1)*6)+2))-1))
F1=RIGHT(INDIRECT("$A"&INT((ROW()-1)*6)+2),LEN(INDIRECT("$A"&INT((ROW()-1)*6)+2))-(FIND("?",INDIRECT("$A"&INT((ROW()-1)*6)+2))+3))
G1=INDIRECT("$A"&INT((ROW()-1)*6)+3)
H1=INDIRECT("$A"&INT((ROW()-1)*6)+4)

後は下にオートフィルでデータベースの完成だヒャッホー
>>468のスマートさに全俺が泣いた


474 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:45:08
よく考えたらわざわざindirect使わなくても6行置きに作った後、
オートフィルタかければ済む話だったな
まぁいいか・・

475 :473:2008/09/18(木) 15:46:38
>>471
頼むぜ
E1=LEFT(INDIRECT("$A"&INT((ROW()-1)*6)+2),(FIND(" ",INDIRECT("$A"&INT((ROW()-1)*6)+2))-1))
F1=RIGHT(INDIRECT("$A"&INT((ROW()-1)*6)+2),LEN(INDIRECT("$A"&INT((ROW()-1)*6)+2))-(FIND(" ",INDIRECT("$A"&INT((ROW()-1)*6)+2))+3))
これでいけると思う

476 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 15:49:26
>>473
ありがとうございます!!
この関数をどこにどうぶち込めばいいのかだけ最後に教えてください。

477 :473:2008/09/18(木) 15:51:56
>>476
B1=MID(INDIRECT("A"&INT((ROW()-1)*6)・・
ってのはB1セルに=MID(INDIRECT("A"&INT((ROW()-1)*6)・・って数式コピペしてねって意味だよ
同様にC1D1・・と続いていく

478 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 16:03:46
すみません・・・ちょっと分かんないです・・・。
ここに元データをアップしたので丸投げしてもよろしいでしょうか?

http://www-2ch.net:8080/up/download/1221721334381546.FQjQIG

パスはsage

479 :459:2008/09/18(木) 16:07:36
>>478
478=476=471=459
です。この板はIDないのですね。

480 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 16:17:36
エクセル2007
windows xp

表内で記入のある枠を数えたいのですが
ただし、ある特定の言葉(3種類)が入ってる枠は、数に入れたくないのですが
どんな式で出来るか教えて下さい。
お願いします。



481 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 16:21:20
>>480
記入のある枠をCOUNTAで数えて
特定の言葉(3種類)が入ってる枠を各々COUNTIFで数えて引く

482 :473:2008/09/18(木) 16:22:40
>>479
こんな感じ
ttp://www1.axfc.net/uploader/He/so/139385.xls
四行・二行のデータが一番下から始まってると思ったがそうではなかったのと、
????は半角スペースではなく、他の文字ということで不具合が出ていた

つーわけでそのデータを一番下に持ってきて完成
1-150行ぐらいまでは削除しているが、テキトーに補完しておいて

483 :465:2008/09/18(木) 16:28:34
>>479
自分の仕事は自分でやれよw

と突っ込もうと思ったら既に代行してるしww

484 :459:2008/09/18(木) 16:30:00
>>482
オフィスに歓声が上がったっす。
ありがとうございます。

>>483
サーセンw
エクセル怖いです。

485 :405:2008/09/18(木) 18:17:40
406、409さん、ありがとうございます。
解決しました!

486 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 18:30:35
>>481
ありがとうございます。
できそうですが、=countif(A1:A10,"○○")の
"○○")の辺以降の、除外する3つの言葉の並べ方がわかる方
いたら教えて下さい。。

487 :481:2008/09/18(木) 18:57:20
>>486
=counta(A1:A10)-countif(A1:A10,"○○")-countif(A1:A10,"○△")-countif(A1:A10,"○□")
ではだめかな?
やりたいことを取り違えてなければこれでいけるはず

488 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 19:01:33
>>464

解決法のひとつとして別シートにコピペ(値のみで)じゃだめ?

489 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 21:29:08
>>464
値をコピペした後数式をコピー

作業列2列作って、1列は連番入れてもう一列はフラグ立てて
フラグの列で並び替え
連番の列で並び替えて元に戻す

のどっちかかなと

490 :名無しさん@そうだ選挙にいこう:2008/09/18(木) 23:45:00
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

前任者から引き継いだファイルなんですが、起動する度にマクロを有効にしますか?と聞いてきます。
内容は一日の来院数を記録するだけでマクロが入ってそうにないのですが…
どういうマクロが使われてるのか調べる方法はありますでしょうか?

491 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 00:33:05
>>490
Alt+F11でVBAのエディタ開く
フォーム、標準モジュールなどは削除する
ブックやシートにマクロを仕込んでる場合もあるので有れば消す(コードを消す)

多分これでいけるはずだ

492 :491:2008/09/19(金) 00:34:59
よく読んだら消す方法じゃなかったなw
それぞれ右クリックして「コードの表示」でマクロが見れるはず

493 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 02:45:58
【1 OSの種類         .】 Windows XP 【2 Excelのバージョン   】 Excel 2003 【3 VBAが使えるか    .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード     】 EXCEL 印刷 セル エクセル etcetc
【6 聞きたいこと       .】エクセルの印刷方法について教えてください。
(イメージ1)
↓印刷 A4用紙1枚目
_____________________________
l____a_b_c_d_______________l A列からD列、1行から1000行以上をうめるデータがあります。これをA4用紙に印刷しようと試みたところ、
l_1__________________________l 1枚の用紙にA列からD列、35行のデータしか印刷されず、多くの余白を残したまま次の用紙へと移行します。(イメージ1)
l_2__________________________l
l_3__________________________l
l_:___________________________l
l_35_________________________l
l ____________________________l
↓印刷 A4用紙2枚目
______________________________
l____a_b_c_d________________l
l_36_________________________l
l_37_________________________l
l_:___________________________l
l_:___________________________l
:
以降延々と続く‥
(イメージ2)
↓印刷 A4用紙1枚目
_____________________________
l____a_b_c_d_____a_b_c_d_l イメージ1のような印刷形式ではなく、イメージ2のように用紙にあわせて行を折り返してくれるような
l_1____________36___________l 印刷方法はないのでしょうか?
l_2____________37___________l 文章力がなく伝わりにくいとは思いますが、アドバイスよろしくお願いいたします。
l_3____________38___________l    
l_:______________:_____________l
l_35___________70___________l
l ____________________________l

494 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 03:14:47
>>493
お手軽コースは
表示→改ページプレビュー
青い線をドラッグして調整

それか
メニュー→印刷設定
次のページ数に合わせて印刷→横を1にする

このへんが基本動作だからそれでうまくいかんかったら
いかんかった理由を添えてまたここで聞いてみれば?

495 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 03:21:51
>>493
ごめんよく読んでなかった。いちど>>492は取り消す

割付印刷はExcelだけではやったことないから
詳しい人待って下さい
他のソフト(Word)とか絡めれば割付可能だけど
もっとうまい手がありそうな気も・・・

496 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 03:25:01
>>493
>>495だけど取り消すのは>>494ね。

497 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 06:31:38
エクセルに折り返し印刷の機能は無い。
Accessのレポート印刷にはそういう設定があるので、
恒久的に使うならいっそAccessにデータ移行してしまうのが良い

498 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 10:10:44
>>493
標準機能にはないな
E1に=A35とか入れてオートフィルするか、
量が多ければindirectとrow辺りを組み合わせてフォーマット自体作ってしまう



499 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 11:46:01
すごい単純なことかもだけどちょっとお助けを〜
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 選択範囲 数字から指定

えーと任意の英語、数字をそれぞれふたつずつ入力して
そこから選択範囲を作りたいのだけど
INDEXとかMATCHとか何か関数でできないでしょうか〜?

例としてはー
A1セルにF、B1セルに826
A2セルにP、B2セルに1694
と4つ入力すると($F$826:$P$1694)の範囲選択ができるといいなと・・・
その範囲をさらに関数の引数として使いたいのです
VLOOKUP("山本",[その範囲],7)とかな感じにしたいなぁと
あとから範囲だけを簡単に変えれたらなぁといった具合でして
こういうことってできますでしょうか?
作業用の別シートとかはいくらでも使って構わないです

500 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 11:52:23
>>499
=VLOOKUP("山本",INDIRECT(A1&B1&":"&A2&B2),7)
こんな感じ?A1-B2はテキトーに変えて

501 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 11:52:34
>>499
=LOOKUP(A3,INDIRECT("$" & A1 &"$" & B1 & ":" & "$" & A2 &"$" & B2))
こんな感じか?

502 :501:2008/09/19(金) 11:53:11
かぶったorz

503 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 12:34:55
>>493
もう解決済みかな?
暇つぶしに作ったマクロにそんな感じの編集をするものがあるんだが

504 :499:2008/09/19(金) 13:51:54
い、INDIRECTっ!!
こんなものがあったんですね、すばらしい
どうもありがとうございましたっっ!!!

505 :sage:2008/09/19(金) 14:06:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ

エクセルで以下のような数字を結ぶ折れ線グラフは作れますか?
・・・・・90_____________________________


・・・・・80_____________________________


・・・・・70_____________________________
得 ・・・・・・・・・・・・・・・・・・10_
・・・・・・・・・・・・・・・・10_
・・・・・60_____________________________
点 ・・・・・・10_

・・・・・50_____________________________
・・・・・・・・・・・・・・・・・・・・・5_
・・・・・・・・・・・・・・・5_
・・・・・40_____________________________
・・・・・・・・・5_

・・・・・30_____________________________

・・・・・・・・・項 ・・・項 ・・・項
・・・・・・・・・目 ・・・目 ・・・目 ・・・・・・・
・・・・・・・・・I ・・・ II・・・III

各項目ごとに数字メモリの位置がバラバラなのですが、可能でしょうか

506 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 14:14:46
>>505
内容があいまいで返答できない
・や_は何?

507 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 14:33:04
>>505
「データラベルの追加」でラベルを追加して、その書式を「"10"」とか「"5"」っていう固定文字列の表示にするくらいかな

508 :505:2008/09/19(金) 14:33:59
・や_は気にしないでください
X軸に項目が8つあって、その項目ごとにY軸(数値)の
場所を変えたいと考えています


509 :506:2008/09/19(金) 14:43:11
メモ帳に入れて眺めてたらなんとなく分かったw
大事なことを聞いてなかったな元のデータはどんなデータ?
>>505のを
A列 |B列|C列|
項目T |20 |30 |
項目U |25 |35 |
項目V |20 |30 |

みたいな形で書いてほしい

510 :505:2008/09/19(金) 14:55:07
 A列 |B列|C列|
項目T | D | 8|
項目U | I | 11|
項目V | N | 12|
項目W | O | 9|
項目X | Co| 18|
項目Y | Ag| 17|
項目Z | Si| 15|
項目[ | G | 12|
項目\ | W | 5|
項目] | Fr| 8|

アンケートみたいなもので、B列は項目名の頭文字、C列はその値です。



511 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 15:48:08
A1に 振り仮名や赤字の文字があるとします
=A1 で呼び出すと文字の色が反映されないです
なんか特殊なやり方があるのでしょうか?

512 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 15:51:01
>>511
書式は基本的に反映されない
書式ごとコピーするか、カメラ機能が便利。VBAでもいいがよほどでないと逆に手間
カメラ機能はぐぐればすぐに見つかる

513 :506:2008/09/19(金) 16:00:22
>>510
値になるのは1つだけ・・・折れ線は1本?
>>505見る限りでは2つ有るようだけど・・・

514 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 16:07:53
ピボットグラフで100%折れ線だなそれわ

515 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 16:08:55
ああ、数値見たいなら積み上げの方がいいのか

516 :505:2008/09/19(金) 16:10:41
>>513
値は一つ、折れ線は一本です
一番左のY軸は全体値です

517 :506:2008/09/19(金) 16:18:32
>>516
もしかして全体の合計を100%として比率でグラフを作りたい?

518 :505:2008/09/19(金) 16:22:05
>>517
そういうわけではないです
説明下手ですみません・・

519 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 16:29:05
作りたいグラフをペイントでいいから試しに書いてみてアップロードしてみては

520 :506:2008/09/19(金) 16:31:43
>>510の例で言うとB列とC列を選択して
メニューの「挿入」→「グラフ」で作ったものじゃダメなのか?
でもこれだとエクセルの一般的な使い方・・・

ぶっちゃけ何を求めてるのか分からなくなってきたw

521 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 16:43:40
紙にボールペンで完成イメージを書いて写メしてうp

522 :505:2008/09/19(金) 16:44:24
>>519
すみませんアップロードの仕方がわかりません・・

>>520
折れ線グラフの形です
Y軸の標準得点(30から90)とは別に項目ごとに
また得点があり(1〜30)、さらにその項目でも
全部の得点のメモリの位置が違うので、どのように
やればよいのか分からない状態です。>>510の5_と10_は
それぞれのメモリの位置です。

523 :506:2008/09/19(金) 17:13:17
漏れのコミュニケーション能力の限界かも知れんな

Y軸の標準得点
得点
メモリ(目盛り?)の位置
これらがよく分からないから理解できないのか?
図を手書きしたところで結局折れ線グラフなのは分かってるし
元になるデータ各々の性質が分かればいいはず

524 :505:2008/09/19(金) 17:21:05
正直Y軸の標準得点の意味は私にも分かりません・・
ただ、それを抜かしても各項目ごとに目盛りを設定する
方法が分からないのです。>>510には5と10の目盛りが
ありますが、項目によってそれらの位置が違いますよね?
項目によって5や10の位置を変えるなんて出来ないんですかね?


525 :506:2008/09/19(金) 17:28:07
なんか理解できた気がする
項目別に目盛りの間隔は変えることはできないと思う
グラフ上の座標だけなら掛け算して変えることはできる

526 :505:2008/09/19(金) 17:32:08
>>525
やっぱり目盛りの位置(間隔)を変えることはできないのですか・・。
座標はどのように変えるのですか?

527 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 17:35:49
>>505
グラフ/散布図

528 :506:2008/09/19(金) 17:42:34
例えば
10〜50のデータと
5〜25のデータを混ぜてグラフを作るなら
5〜25のデータの側に(50-10)/(25-5)を掛ければいい

複数あるならどれか1つを基準にして係数割り出せばいいと思う
後は実データ見ないとなんともいえない
片手まで面倒見れるのはここまでかな?

529 :505:2008/09/19(金) 18:21:35
>>527
項目ごとに目盛りの間隔を変えることはできますか?

>>528
ありがとうございます。頑張ってみます

530 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 20:26:36
初心者です、お世話になります。
セルA1とB1にそれぞれシリアル値による時間が入っています。
セルの書式設定により時間が表示されています。
ユーザーフォームの中のラベル1にB1からA1を引いた時間を時分秒の形で表示したいのです。
Label1.Caption = Range("B1") - Range("A1").value
A1は開始時間、B1は終了時間、ラベル1は所用時間と考えてください。
とやるとシリアル値っぽいのが出るのですが、時間を表示したいのです。
助けてくださいませ。

531 :名無しさん@そうだ選挙にいこう:2008/09/19(金) 20:27:19
パチンコ玉に傷くらいあっても問題ないだろ。

532 :493:2008/09/19(金) 22:18:18
>>494
レスありがとうございます。
改ページプレビューでページを変えても、折り返してくれる機能がないようなので、ちょっと不可能だと思われますが‥
また、横を1にするのもレスをする前に試してみたのですが不可能でした(^^;;
>>495
‥‥取り消しだったんですね(_ _。)・・・シュン
>>497
ありがとうございます。Accessですかぁ。うーん
>>498
ありがとうございます。Excelというのもなかなかどうして使いづらいですね
>>503
今一生懸命498さんに教えていただいたindirectとrowを調べています(^^;;
いまいちわからない(^^;;

533 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 04:41:01
>>530
Format( Range("B1") - Range("A1"),"hh:mm")
ではいかんの?

534 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 09:19:26
>>532
行高一定 見出し行3行  1ページ40行(見出し行除く)
の場合
シートを別名で保存
A列からD列をコピー F列からI列に貼り付け
F4からI43を削除(上につめる)
J列に
=MOD(int((row()-3)/40),2)
J列=0でフィルタして印刷


535 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 12:52:59
>>481
ありがとうございます。
これで出来そうです。助かりました。

536 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 18:48:27
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel デフォルト 設定

excelのデフォルトの枠線の色を変更したいのですがbook単位の保存になってしまいます
デフォルト設定にするにはどうやればいいですか?

537 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 21:27:32
テンプレ(質問テンプレじゃないよ)使えば良い

538 :名無しさん@そうだ選挙にいこう:2008/09/20(土) 22:16:05
>>537
凄いこんなのがあるんですね
ありがとうございました

539 :539:2008/09/21(日) 18:40:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 比較 抽出 正規表現
たとえばこのようにデータがあった場合
Aセル行内にBセル行内と(別の行にでも)同じデータがあった場合両方削除
というような動作をさせたいのですがどうすればいいのでしょう?
同じデータがあったとしても同じ行とは限らないのでややこしくなってしまいます。
宜しくお願いします


Aセル         Bセル
あ:3        あ:2  
い:3        う:3 
う:3        お:1
え:3
お:3


Aセル         Bセル
あ:3        あ:2  
い:3         
           お:1
え:3
お:3

540 :名無しさん@そうだ選挙にいこう:2008/09/21(日) 18:54:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

図1
 A   B C
1 あ 10 a
2 い 15 b
3 う 11 c
4 え 15 d
5 お 16 e
6 か 11 f

----------------
図2

  A B C
1 15
2    2

図1と図2のようなシートがあり、図2のA1の値を図1からMatch関数で抽出したいと考えております。
=match(A1,$B:$B,0)
で2という値が帰ってくると思いますが、図1のB4にある15の返り値をMatch関数で4という値を抽出するにはどうしたらいいのでしょうか。





541 :名無しさん@そうだ選挙にいこう:2008/09/21(日) 20:20:13
>539
条件を再確認します。
1 データはA列とB列だけに存在する
2 セル参照はない(計算式はない)
3 同一内容のデータがあった場合はどちらのセルも内容を消去する
 (削除という言い方は、通常その下や右のセル移動を伴うので消去という方がいいです)

VBAを使うしかないと思います。処理対象をsheet1のA1:B100の2列×100行と仮定して説明します。
第1ステップ
別シートに2列×100行分のデータを1列にして出力します。その際、セルアドレスも右隣に付加します。
A列  B列
あ:3 A1
い:3 A2

お:1 B3

第2ステップ
sheet2のA1:B200をソート(ソートキーはA列)します。これで同一内容があるかどうかを判定する準備が
できることになります。
第3ステップ
1行目から順次セル内容を見ていって同一内容セルかどうかの判定をします。判定結果はC列に書き込むのが
いいかも。(例:×を書き込む)
第4ステップ
sheet2のC1セルから下に見ていって、×があるときB列の内容(セルアドレス)でsheet1の当該セルを消去する。

VBAはこれから、という方にはちょっと難しいかも。

542 :名無しさん@そうだ選挙にいこう:2008/09/21(日) 20:33:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
たとえば現在セルの場所からcells(100,100)に移動させても
セルは選択されるけど画面は動きませんよね?
画面も一緒にcells(100,100)に移動させるにはどうすればよいでしょうか?

543 :名無しさん@そうだ選挙にいこう:2008/09/21(日) 22:59:39
ウインドウ枠の固定って機能ですが
行と列を同時に固定することってできますか?

544 :名無しさん@そうだ選挙にいこう:2008/09/21(日) 23:07:43
例えばH5のセルで固定したいなら
H5のセルをクリックしてウィンドウ枠の固定をすればできますが。

545 :>539:2008/09/21(日) 23:08:44
Sub TEST()
For A = 1 To 100
TEMP = Cells(A, 1)
For B = 1 To 100
If Cells(B, 2) = TEMP Then
Cells(B, 2) = ""
Cells(A, 1) = ""
End If
Next B
Next A
End Sub

>541
悪いけど、よくそんな無駄なやり方を思いつくもんだ

546 :>542:2008/09/21(日) 23:11:58
今試してみたけど、普通一緒に動かない?
RANGE("X999").SELECT
って極普通のやり方でOKだと思うんだけど

547 :>542:2008/09/21(日) 23:15:53
Sub MOVE()
Cells(100, 100).Select
End Sub

548 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 00:59:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

家計簿で、翌月のシート作成をする際に月初日をVBAで自動入力
する方法を探しています。

具体的には、一つ左のシート(Sheet1)のA1セルが「9月1日」の場合、
現在のシート(Sheet2)のA1セルに下記の数式を入れれば「10月1日」
が取得できますが、この"数式"を自動入力するのではなく、"数式の計算結果"
をSheet2のA1に反映させるにはどういう方法があるでしょうか。
シートをあらかじめ作成しておくのを避けたいため、どうにかVBAで
できないかと思っています。

例1 =EOMONTH(Sheet1!A1,0)+1
例2 =DATE(YEAR(Sheet1!A1),MONTH(Sheet1!A1)+1,1)

549 :542:2008/09/22(月) 00:59:29
そうですよね。
>546、>547で普通に画面も動きますよね・・・

あるマクロだとCells(100,100).Selectで動いてくれないのがあるんですよね。
セルは選択してるんだけど画面が動かない。
そのシートはウィンドウ枠の固定してたんだけど関係ないよね?
まあそれを解除しても一緒だか関係ないよね・・・
もう少し悩んでみます。

550 :>548:2008/09/22(月) 01:21:43
Sub TEST()
Sheets("Sheet2").Range("A1") = DateAdd("M", 1, Sheets("Sheet1").Range("A1"))
End Sub

VBE上での計算結果を書き込めば良い
このDATEADDが使える分、日付に関してはワークシート関数よりもVB関数の方が使いやすい

551 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 01:51:40
>>549
もしかして
screenupdate = false
になってない?

552 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 02:44:04
エクセルの使い方で質問です

「もし列Aと列Bと列Cのセルのいずれかに”○”印があったら、
列Dは”★”印」
という風にデータを抽出したいのですが、
何か良い方法はないでしょうか??

IF関数を使って、列Aに○なら★、という数式は入力できるのですが、
列Bも列Cもとなると複数の条件を設定できなくて困っています
どなたかご教示いただければ幸いです

553 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 02:44:29
age

554 :>552:2008/09/22(月) 02:52:18
=IF(OR(A1="○",B1="○",C1="○"),"★","")

これができるかが一般人とマニアの分れ目!なんつって

555 :552:2008/09/22(月) 02:58:10
>>554
で、できた・・・(涙)
1時間以上試行錯誤とヘルプ検索しまくったのですが、
エラーばかりでてしまって困っていました。
いざという時できないのは、日頃の勉強不足のせいですね。

本当にありがとうございます。
感謝です!

556 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 03:52:48
>>541
>>545
すごい!
出来ました。ありがとうございます。
VBAを使えは複雑なテキスト処理が出来そうですね。

557 :557:2008/09/22(月) 04:11:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初心者)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 比較 抽出
A Bに更新前のデータ C Dに更新後のデータがあるとします
Noは個体に通し番号が割り振ってあるとして値はそれぞれ個体にある値とします。
これを更新があった場合(上のデータではNo2の値が8→10)に Eに商品個体番号 Fに更新前 Gに更新後の値を入ると
いうようなVBAを書きたいと思っています
教えていただいたものを改造しAとC両方ある物だけを出力することは出来たのですが
AにあってCにないものを出力することが出来ません。
今回の例ではAにあってCにないもの(No 1 値 4)を
E F G
1 4
上記のように出力させたいのと、AになくCに追加されたもの(No 7 更新後値 4)を
E F G
7 4
と出力させたいです。
宜しくお願いします。

558 :557:2008/09/22(月) 04:13:03
途中までやってみたのですがどうにもできません
A     B     C    D          E     F     G
No    値    No    更新後値     No 更新前値 更新後値                 
1     4     2     10                    
2     8     3     9          2     8     10
3     9     4     5                    
4     3     6     6          4     3     5
5     4     7     4                    
6     6   
Sub TEST3()
For A = 2 To 100
TEMP = Cells(A, 1)
For B = 2 To 100
If Cells(B, 3) = TEMP Then
If Cells(A, 2) <> Cells(B, 4) Then
Cells(A, 6) = Cells(A, 1)
Cells(A, 7) = Cells(A, 2)
Cells(A, 8) = Cells(B, 4)
End If
End If
Next B
Next A
End Sub

559 :549:2008/09/22(月) 06:44:03
>>551
してる。
まだ試してないけどそれが原因でしたか

一度tureにしてからじゃないとダメなのか。
あとでやってみます。

560 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 06:48:39
ちょっと質問
A1に A B C いずれかを入力された時に
C5に
Aの時に川崎
Bの時に山田
Cの時に上田
と自動に標的したいのですがどうすればよいでしょうか?


561 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 08:58:35
>>560
=if(a1="A","川崎",if(a1="B","山田",if(a1="C","上田","")))
これでいいのでしょうか?

562 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 09:22:31
>>560
どっか空いてるところに一覧表を作っておいてVLOOKUP

563 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 09:39:57
>>557
説明がちょっとよくわかんないんだけど、こうなればいいの?

E    F     G
No   更新前 更新後値
1    4
2    8     10
3    9       9
4    3       5
5    4
6           6
7           4

これならワークシート関数だけで出来るけど、VBAじゃないとだめ?

564 :541:2008/09/22(月) 11:45:52
>545
539の人は、
「同じデータがあったとしても同じ行とは限らない」と書いているだけで、同一データがA列とB列に
ひとつずつしか存在しないとは書いてありません。同一データが3個以上ある場合、545の処理では残っ
てしまいますが?同一データがあるといったら3個以上のことも考えるのが実務的では? 


565 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 11:49:01
「できました」ってレス付いてるじゃん…

566 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 12:09:05
質問です。
A列には日付が入力されていて
B列には =IF(WEEKDAY(A3,2)<=5,"平","休")って式を入れて平日と休日がわかるようにしてあるんですが、
祝日は考慮されてないので、祝日も平と表記されます。
別シートに祝日の表を作って名前を定義したのですが、
それをさっきのB列の式にどう表記して反映させればいいのかわからず迷っています。
B列の式に祝日も休と表記するように命令するにはどうしたらいいでしょうか?



567 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 12:37:43
>>566
=IF(WEEKDAY(A2,2)<=5,IF(VLOOKUP(A2,祝日,1,1)=A2,"休","平"),"休")

568 :566:2008/09/22(月) 12:53:11
>>567
できました。ありがとうございました。

569 :557:2008/09/22(月) 13:13:35
>>563
そうです。
よろしければどのようにするか教えていただけないでしょうか?

570 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 14:06:16
>>569
E〜G列に以下の式を入れて下までコピペ
E2=ROW()-1
F2=IF(ISNUMBER(B2),B2,"")
G2=IF(ISERROR(VLOOKUP(E2,C:D,2,FALSE)),"",VLOOKUP(E2,C:D,2,FALSE))

571 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 14:32:03
>>569

Public Sub TEST()

Me.Range("E2", "G" & Me.Range("AF5").End(Direction:=xlDown).Row).ClearContents

Dim OutRow As Long
Dim UpRow As Long
If Me.Range("C2").Value = "" Then
Exit Sub
End If
For UpRow = 2 To Me.Range("C2").End(Direction:=xlDown).Row
OutRow = WorksheetFunction.Match(Sheet1.Range("C" & UpRow).Value, Me.Range("A:A"), False)

Me.Range("E" & UpRow).Value = Me.Range("A" & OutRow).Value
Me.Range("F" & UpRow).Value = Me.Range("B" & OutRow).Value
Me.Range("G" & UpRow).Value = Me.Range("D" & UpRow).Value
Next
End Sub

お前の思い描いているものかどうかは知らんが

572 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 15:27:24
>>557
Sub aaa()
 R = 2
 While Cells(R, 1) <> ""
  Cells(Cells(R, 1) + 1, 5) = Cells(R, 1)
  Cells(Cells(R, 1) + 1, 6) = Cells(R, 2)
  R = R + 1
 Wend

 R = 2
 While Cells(R, 3) <> ""
  Cells(Cells(R, 3) + 1, 5) = Cells(R, 3)
  Cells(Cells(R, 3) + 1, 7) = Cells(R, 4)
  R = R + 1
 Wend
End Sub

573 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 15:31:32
それってピボットテーブルで一発じゃね?

574 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 15:41:10
【1 OSの種類       】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか  】 いいえ
【4 VBAでの回答の可否 】 否
【5 検索キーワード   】セル 参照 表示

-------------A---------B------C------D------E------------F-----
<04行目> <2000/1/1> <50.0> <50.0> 2000/1/1の
<05行目> <2000/2/1> <49.7> <49.5> <0>年 <7>ヵ月後は「47.6」←これを表示
<06行目> <2000/3/1> <49.3> <49.1> <D5>*12+<E5>+4=11行目なので「B11」
<07行目> <2000/4/1> <49.0> <48.6>
<08行目> <2000/5/1> <48.6> <48.1> 仮に金利が何%なら「47.6」程度になるのは
<09行目> <2000/6/1> <48.3> <47.7> C列の09行目の 「2000/6/1」←これを表示
<10行目> <2000/7/1> <47.9> <47.2>
<11行目> <2000/8/1> <47.6> <46.7>

数字を挟んでいる<>は、縦の列を揃えて表示させるためで、実際にはありません
***********************************************************************
金利を計算した4行目から始まるワークシートのデータを参照したいのです

例えば上の表で2000/1/1の0年7ヵ月後なら2000/8/1で、0(年)*12+7(月)+4=11で
11行目となるので11という数字は計算してセルの上に「B11」と表示できました。
本を買って1ヶ月程度なので、ワンステップずつ計算して11→B11とセルの上に
「B11」までは表示できたのですが、ここからどうすれば「B11」の内容である
<47.6>という数字がエクセルのセルに表示できるのか教えてください

同じような残高でも金利が違うとこれだけ返済金間が短縮されるのを示したいのです。
B列のこの47.6に一番近いC列の数字として(この場合は09行の47.7)になるのが何行目に
なるのかを表示する方法を教えてください。

現在アク禁に巻き込まれているので返事など出来ないと思いますが、
よろしくお願いします

575 :557 ,558:2008/09/22(月) 16:50:17
>>571
レスありがとうございます。
すみません、エラーがでます。
>>572
ありがとうございます。うまく通りません。
以下のような実行データにしたいです。
何がしたいかというと、EFGにどのデータが更新されたかを出力したいです。
E F Gが2 8 10となっていた場合、2の値が8から10に更新されているという具合です。
お願いいたします。
A     B     C    D          E     F     G
No    値    No    更新後値     No 更新前値 更新後値                 
1     4     2     10                    
2     8     3     9          
3     9     4     5                    
4     3     6     6         
5     4     7     4                    
6     6   

実行↓

A     B     C    D          E     F     G
No    値    No    更新後値     No 更新前値 更新後値                 
1     4     2     10         2     8     10           
2     8     3     9          4     3     5
3     9     4     5          1     4         
4     3     6     6          5     4 
5     4     7     4          6     6          
6     6                      7            4
                            
                            
                            
                            

576 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 18:43:31
>>575

それもしかして全部表示させて更新後値の大きい値からとか?

577 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 19:13:47
>>563に対して「そうです」って言ったじゃん
ちゃんと人のレスよく読めよ…

じゃあH2=G2-F2って入れてH列を逆順にソートしろ

578 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 19:15:58
>>574
B1という文字列からB1セルの内容を取り出すにはINDIRECT関数を使う

579 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 19:58:41
お聞きしたいんですが、office2000をインストールをしようと思い、
Office 2000のCD-ROMを入れてガイダンスに従って行くと、
プロダクトコンプリアンスチェックで
「お使いのコンピュータ上に正規の製品を見つけられませんでした。
正規の製品が保存されている場所を選択して下さい」
とエラーがでてしまいました。
アップデート版ではないと思うのですが。。。
対処の仕方がありましたら教えて頂けますでしょうか。

又、XPを再インストールしましたが関係ありますでしょうか。

よろしくお願い致します。

580 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 20:24:19
>>579
CD-ROMのドライブ名を入れればいいんジャマイカ?

581 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 20:29:16
>>579
いやそれ普通にアップグレード版のメッセージなんだが。
メッセージが出たらCDをOffice97に入れ換えてチェックを通して、
また2000のCDに戻せば、あとは普通にインスコできるはず。

582 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 20:51:25
>>579はマルチ

583 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:06:30
>>576
>>577
ソートの出力結果はどっちでも構いません。
558で書いたものの補足で出力例を書いただけです。
571572さんのものがうまくうごかないので

584 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:16:16
>>571はコンパイルエラーが出るが>>572はちゃんと動いたぞ
ところで「Meの使い方が不正」ってエラーを前にも見た気がするんだが、もしかして同じ人?
何か特別な環境でプログラム作ってんの?

585 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:40:07
>>557
なんとなくやりたいことがわかってきた。
もしかして、こうか?

Sub bbb()
 A = Range("A65536").End(xlUp).Row
 C = Range("C65536").End(xlUp).Row
 R = 2
 For i = 2 To A
  For j = 2 To C
   If Cells(i, 1) = Cells(j, 3) Then
    If Cells(i, 2) <> Cells(j, 4) Then
     Cells(R, 5) = Cells(i, 1)
     Cells(R, 6) = Cells(i, 2)
     Cells(R, 7) = Cells(j, 4)
     R = R + 1
    End If
   End If
  Next j
 Next i
 For i = 2 To A
  f = False
  For j = 2 To C
   If Cells(i, 1) = Cells(j, 3) Then
    f = True
    If Cells(i, 2) = Cells(j, 4) Then
     f = False
    End If
   End If
  Next j

586 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:41:01
つづき

  If Not f Then
   Cells(R, 5) = Cells(i, 1)
   Cells(R, 6) = Cells(i, 2)
   R = R + 1
  End If
 Next i
 For j = 2 To C
  f = False
  For i = 2 To A
   If Cells(i, 1) = Cells(j, 3) Then f = True
  Next i
  If Not f Then
   Cells(R, 5) = Cells(j, 3)
   Cells(R, 7) = Cells(j, 4)
   R = R + 1
  End If
 Next j
End Sub

587 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:42:34
なんて冗長な…

588 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:43:35
581>>そうなんですよね。
でも他のパソコンにいれた時はできたんで、
アップグレードではないと思うので
おかしいんですよね‥
どうしたらいいのでしょうか。何か考えられるものはありますか?

589 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:49:26
>>588
それは「他のパソコン」にアップグレード可能なOfficeが入ってただけだと思うが。

つーか、Officeは1台に一つ。何台にも入れるのは違法。
例外として同じ人が使う、かつ、同時には使わない場合には2台まで。

590 :585:2008/09/22(月) 21:51:04
>>587
俺もそう思ったが、質問が愛麻衣でこの結果が正しいかどうか確信が持てないので最適化する気になれん

591 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 21:58:05
>>588
アップグレードではない「と思う」ってどういう事?

592 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 22:05:03
MOSスペシャリスト検定のエキスパートを受検しようと今勉強中なのですが、
家のExcel2003にはその検定の途中に出てくる「XML」という機能がありません・・・。

これってもしかしてOffice Professional Edition 2003っていうモノをインストールしてないと
ダメなんでしょうか?

593 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 22:17:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

セルのA1に10%や20%等のパーセンテージが入ります。
Select Case Cells(1, 1)
Case Is =
  cells(1,1)="A"
たとえばA1が10%だったらAという文字を入れたいんですが
Case Isの後はどんな感じにすればいいのでしょうか?
10という整数を入れてもダメでした。
よろしくお願いします。


594 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 22:23:40
>>592
そうです。 2003のStandard版にはXML機能はありません。

595 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 22:25:04
>>593
0.1

596 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 22:40:46
>>594
ありがとうございます。そうなんですかぁ。
どうやって勉強しよorz

597 :名無しさん@そうだ選挙にいこう:2008/09/22(月) 23:57:17
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 微妙に
【4 VBAでの回答の可否】 可
【5 検索キーワード     】新しいセル 追加

新しいワークシートを追加し、ピボットテーブルをそこに作るマクロなんですが、
実行すると、たまに永遠に新しくシートを作り続けてしまうエラーが発生してしまいます。


新しくシートを追加し、そこに名前を付け、アクティブにする構文は
以下でいいのでしょうか?


Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "aaa"

上記の構文より下の部分は、ピボットテーブル作成を記録し、そのまま貼りつけました。

なので、動くことは動くんですが…

598 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 00:02:33
>>597
そのマクロはどうやってスタートさせてんの?

599 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 00:10:38
>>597
>新しくシートを追加し、そこに名前を付け、アクティブにする

シートを既存のシートの末尾に追加する(追加したシートがアクティブになる)
>Worksheets.Add after:=Worksheets(Worksheets.Count)
シート名を変更する
>ActiveSheet.Name = "aaa"

どこも間違ってはいないようですね・・・
情報を小出しにされると遠回りになるだけなので
できるだけ詳しく書くべきだと思います

600 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 00:24:19
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL VBA TabStrip 追加

ユーザーフォーム内のタブストリップのタブを
右クリック→新しいページ、からではなく
コード内の記述で追加したいのですが
ネットで調べたりヘルプを見ましたが良くわかりませんでした
すみませんがサンプルのコードをお願いします

601 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 00:27:48
>>600
TabStrip1.Tabs.Add

602 :600:2008/09/23(火) 00:47:04
>601
素早い回答ありがとうございます
助かりました

603 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 03:21:00
実はここで以前質問させてもらったものの続きなんですが、
詳細はここに掲載しておきます。
というか、いろいろいじくってたらおかしくなってピボット作動すらしなくなったorz



【場所】
ttp://applis.servehttp.com/index.htm

【名前】
00026875.rar(パスは1114)

604 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 10:56:19
>>603
そんなぶっ壊れたファイルを開かせて
被害を拡大さすつもちか?


605 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 11:09:25
>>603
質問がなんなのかわからんち

606 :548:2008/09/23(火) 12:33:56
>>550
ありがとうございます!望みどおりの動作です!

607 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 13:51:18
【1 OSの種類         .】 WindowsXPHome
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel ヘッダー 整形

Excelのヘッダーに 「ページ:*****1」(*は半角スペース)というふうに
スペースの後にページ番号を打ちたいのですが、
これを文字からページ番号の1の位までの位置を一定に保つことはできませんか?
1桁のときはスペース5個、2桁ならスペース4個という風にしたいのです。
ページ:*****1
ページ:****10
ページ:***100
宜しくお願い致します。

608 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 13:58:26
>>607
ヘッダ、フッタの桁合わせにはたしかVBAが必要だった希ガス

609 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 14:37:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 NG

9月1日  30
9月2日  40
9月2日  20
9月3日  10
9月3日  80
9月3日  90

このように注文があった場合に lookup関数とかを駆使して

9月1日 30 
9月2日 80
9月3日 180

というように足し算して日ごとに集計する方法ありますか?
注文の数は各日まちまちで2回あったり3回あったりします。

610 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 14:50:36

ピボットテーブルww

つか、sumifでいんじゃね?

611 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 15:10:57
マクロ名とオブジェクト名を「test」という
同じ名前で設定すると、Alt+F8で表示されるマクロ名が

シート名!+test.test

と表示されるのですが、これはなぜでしょうか?
同じにしたほうが、VB画面ではわかりやすいと思ったのですが・・・。

612 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 15:17:15
>>611
同時に使う可能性がある2つのものに
同じ名前を付けるのは基本的にやってはいけないことだと思いますよ
(他の人が修正するときやコンピュータが処理するときに混同される可能性があるため)

McrTest ObjTest などのように違う名前をつけるようにしましょう

613 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 15:55:13
>>612
ありがとうございます。
そういう可能性があるのですね。
違う名前で管理しようとおもいます。

614 :609:2008/09/23(火) 17:05:17
sumifの使い方がイマイチわかりません。。。

615 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 17:25:49
>>611
sumif
http://kokoro.kir.jp/excel/sumif.html

使うときはシリアル値と文字列の違いに注意してください

シリアル値
日付の場合は1900年1月1日を1として、1日ごとに+1した数字

616 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:09:24
>>614
例えばB8のセルに9月1日の計を表示、B9のセルに9月2日の計を表示させる例↓

A B
1 9月1日  30
2 9月2日  40
3 9月2日  20
4 9月3日  10
5 9月3日  80
6 9月3日  90
7
8 9月1日 =sumif(a1:a6,a8,b1:b6)
9  9月2日 =sumif(a1:a6,a9,b1:b6)


=sumif(範囲,検索条件,合計範囲) 

617 :609:2008/09/23(火) 18:09:34
>>615
ありがとうございました
エクセル使い始めて10年以上ですが始めて知りました・・・

618 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:10:01
   A      B
1 9月1日  30
2 9月2日  40
3 9月2日  20
4 9月3日  10
5 9月3日  80
6 9月3日  90
7
8 9月1日 =sumif(a1:a6,a8,b1:b6)
9  9月2日 =sumif(a1:a6,a9,b1:b6)


=sumif(範囲,検索条件,合計範囲) 

619 :609:2008/09/23(火) 18:10:21
>>616 さんもありがとうございます

620 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:10:49
(´ω`)のろまったorz

621 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:14:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

Excelでグラフの機能では基本的に散布図以外に使用しないのですが、デフォルトでグラフウインドウを開いたときに
散布図にカーソルがいくように出来ないでしょうか?

よろしくお願い致します。

622 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:19:51
横着なだけだろ。。。。我慢しろ

623 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:33:27
>>621
VBA使わないと無理

624 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 18:58:56
>>621
ツールバーにマクロボタンを追加して以下のマクロを登録しとけ

Sub sanpuzu()
 SendKeys "%I", True
 SendKeys "H{DOWN 4}{TAB 4}"
End Sub

625 :名無しさん@そうだ選挙にいこう:2008/09/23(火) 20:35:14
【4 VBAでの回答の可否】 否

626 :ド素人:2008/09/24(水) 03:09:08
TODAY()から 土、日の時だけ休みと表示させたいのですがどうすればいいですか?

627 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 04:25:07
=IF(WEEKDAY(TODAY(),2)>=6,"休み","")

628 :ド素人:2008/09/24(水) 07:21:28
>>627
6と7じゃなくて6以上の条件 なるほど ありがとう

629 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 17:23:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 VBAでの回答希望です。
 A  B
50 45 +1
65 60
75 65
85 75
80 70
70 75 -1
65 70

Aのセルの数値をBが越えたら+1、下回ったら-1とCのセルに表示させたいです。
ただし連続して上回る、または下回る場合は表示させたくないのですがよろしく
お願いします。


630 :629:2008/09/24(水) 17:25:21
>>629
【3 VBAが使えるか    .】 いいえ
すみません間違えました。
使えますのでよろしくお願いします。

631 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 17:40:35
>>629
Sub a()
 If Cells(1, 1) > Cells(1, 2) Then Cells(1, 3) = "'+1"
 If Cells(1, 1) < Cells(1, 2) Then Cells(1, 3) = -1
 r = 2
 While Cells(r, 1) <> ""
  If (Cells(r, 1) > Cells(r, 2)) And (Cells(r - 1, 1) <= Cells(r - 1, 2)) Then Cells(r, 3) = "'+1"
  If (Cells(r, 1) < Cells(r, 2)) And (Cells(r - 1, 1) >= Cells(r - 1, 2)) Then Cells(r, 3) = -1
  r = r + 1
 Wend
End Sub

632 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 17:51:01
>>629
ワークシート関数でやった方が簡単だと思うんだけど

Sub a()
 Columns("C:C").NumberFormatLocal = "+0;-0;0"
 s1 = Sgn(Cells(1, 1) - Cells(1, 2))
 Cells(1, 3) = s1
 r = 2
 While Cells(r, 1) <> ""
  s = Sgn(Cells(r, 1) - Cells(r, 2))
  If s <> 0 And s <> s1 Then Cells(r, 3) = s
  r = r + 1
  s1 = s
 Wend
End Sub

633 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 17:52:17
>>629
> Aのセルの数値をBが越えたら+1、下回ったら-1

この説明、逆だよね?

634 :629:2008/09/24(水) 22:50:16
>>631>>632
説明間違ってました・・・_| ̄|○ 

試したところバッチシでした。

ところでもう一つお願いがあるのですが例えばAのセルがBの
セルの数値より大きくて(ここまでは先程と一緒)なおかつ
Aのセルの数値が75以上だったら+1を出すにはどうすればいいのでしょうか?
>>629の場合ですとC3に+1が表示されるようにしたいのです。
よろしくお願いします。


635 :名無しさん@そうだ選挙にいこう:2008/09/24(水) 23:05:30
>>634
その条件だけではプログラムが作れない。
Aが75でBも75の時、
Aが75でBが80の時、
それぞれどうなる?

636 :629:2008/09/25(木) 00:05:55
>>635
>Aが75でBも75の時
この場合はAがBを越えていないので+1でも-1でもなく、
>Aが75でBが80の時
この場合はAはBよりも小さいので-1の条件になります。

これで解りますかね?
説明下手ですみません。

637 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 00:45:53
>>636
もう一つ確認。
70 60 +1
75 65 +1
70 60
75 65 +1
こういうふうにデータが並んでた時は、この例のように3ヶ所に「+1」と表示するの?

638 :629:2008/09/25(木) 07:10:00
>>637
70 60    AはBより大きいが75以下なので表示せず。
75 65 +1 AはBより大きくなおかつ75以上なので表示。
70 60   AはBより大きいが連続しているので非表示。
75 65   これも条件に達しているが連続しているので非表示。

AはBより大きくなおかつAが75以上になったら+1
のスイッチオン。
AがBより小さくなったら-1のスイッチオン。
ともに反対のスイッチが入るまではスイッチが入った
ままで、スイッチが入った時のみ+1、-1を表示。
こんな感じです。
よろしくお願いします。

639 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 09:02:48
>>638
>70 60    AはBより大きいが75以下なので表示せず。
>75 65 +1 AはBより大きくなおかつ75以上なので表示。
>70 60   AはBより大きいが連続しているので非表示。
>75 65   これも条件に達しているが連続しているので非表示。

>AはBより大きくなおかつAが75以上になったら+1
だから
70 60
75 65 +1
70 60
75 65 +1
となるはずでは?

640 :639:2008/09/25(木) 09:07:13
解釈が間違ってないなら
>>632のを改変してやらせてもらうと
Sub a()
Columns("C:C").NumberFormatLocal = "+0;-0;0"
s1 = Sgn(Cells(1, 1) - Cells(1, 2))
If s1 > 0 And Cells(1, 1) < 75 Then s1 = 0
If s1 <> 0 Then Cells(1, 3) = s1
r = 2
While Cells(r, 1) <> ""
s = Sgn(Cells(r, 1) - Cells(r, 2))
If s > 0 And Cells(r, 1) < 75 Then s = 0
If s <> 0 And s <> s1 Then Cells(r, 3) = s
r = r + 1
s1 = s
Wend
End Sub
結果
70 60
75 65 +1
80 70
75 65
55 60 -1
75 65 +1


641 :641:2008/09/25(木) 10:16:27
【1 OSの種類         .】 WindowsXP Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel、エラー、ファイルなど


Excelにて作成したファイルに入力して保存しようとすると、
「問題が発生しました」と表示され保存できません。

過去にも同様の現象が起きたのですが、
とあるワークシートのとあるセルの数式が勝手に書き換えられていました。

今回も同様の現象だと思うのですが、上記の勝手に書き換えられたセルの特定を迅速に行う方法が知りたいのです。(*1)

エラー時に、「BF990000」などの拡張子の無いファイルが作成されるのですが、
メモ帳などでは読めませんでした。
このファイル内にセルを特定するような情報が記述されているのでしょうか?

もし記述されているようでしたら、*1が迅速に行えると思いますので、
この拡張子の無いファイルを読む方法をご教示ください。

また他の方法でも結構ですので、エラー元となるセルを特定するのに、
良い方法がありましたらご教示ください。

642 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 11:10:48
再インストール

643 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 11:45:10
ブックが壊れてるんだろ、普通に
そんなもん直せんわ

644 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 12:16:53
直す方法を聞いてるわけじゃないようだが
新規のブックに全部コピペすれば直るんじゃ?

エラー元の特定がしたいなら正常なセルを消していけばいい
適当な範囲を消して行ってエラーが無くなったらその辺が原因

645 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 12:23:07
すみません、よろしくお願いいたします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル ブックの共有 保存 出来ない 上書き

エクセルの、ブックの共有機能についてお伺いしたいです。
エクセルファイルを共有サーバー上でブックの共有にして3人で使用しています。
ですが、他者が開いていると後から開いた人がファイルを上書き保存できない事が増えてきました。
毎回必ず保存できないわけではなく、だいたい7割ぐらいの確率で保存できません。
特にエラーは発生せず、保存されたように見えるのですが、閉じて開くとデータがありません。

色々調べてみたのですが、調べ方が悪いのかこういう事例は見つかりませんでした。
もちろん、共有が外れてたなんてことはないですし、他者が消したということもありません。
原因、対策などございましたらご教授ください。

646 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 12:41:47
>>645
保存されてるのは実は最後に保存した人の分だけとか?
ブックの共有の設定は見直した?

使ったことないから知らないが・・・w

647 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 16:43:18
よろしくお願いします。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 配列 一致 かな?

A1=1 B1=2 C1=3 D1=4 E1=5

A2=2 B2=4 C2=5 D2=7 E2=10

のように数値が入力されていたとします。
このとき、上のグループと下のグループで、
2,4,5が共通な要素で
つまり共通な要素が3つあるのですが、
fx{(A1:E1)∩(A2:E2)}=3
となるような関数fx ってありますでしょうか?

よろしくお願いします。

648 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 16:54:11
>>647
=SUM(COUNTIF(A2:E2,A1:E1))
数式入れたらShift+Ctrl+Enter

649 :648:2008/09/25(木) 17:02:23
操作がよく分からないかもしれないので参考URL
ttp://pc.nikkeibp.co.jp/pc21/special/hr/

650 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 18:05:18
>>648 >>649
リンクともども、速攻レスありがとうございました!
こういうの、ぱっと答えられちゃう人、尊敬。

配列、すっごく便利ですね。
これを機に、勉強してみます。

リンク先、わかりやすいです。
大感謝です!!

651 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 19:01:08
【1 OSの種類         .】 Windows2000以降
【2 Excelのバージョン   】 Excel2000以降
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A表
 日付   仕入先    金額
 9/1    山田商店  100
 9/1    山田商店  200
 9/1    田中電子  150
 9/5    山田商店  120
 9/5    田中電子  180
 9/5    山田無線  330
  :

B表       <9/1>   <9/5> …
 <山田商店>   x     n
 <田中電子>   y     m

仕入明細のA表があり、それにリンクした形で同一ブック上にB表を作りたいです。
B表において、<9/1>の日付と<山田商店>の仕入先名称がA表と合致する時に、
xに9/1の山田商店の仕入合計(この場合300)を表示させるにはどうすればいいでしょうか。
ちなみに、山田商店と山田無線は親子関係にある会社で、B表上では
<山田商店>と書いてあっても実際は<山田商店+山田無線>の合計になるようにしたいです。
よろしくお願いします。

652 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 20:33:30
>>651
静的(合計を出した後、A表を修正しない)ならピボットテーブル、
動的(A表にデータがどんどん追加や修正される)ならSUMIFで計算できる

653 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 20:43:36
sumifを2回でOKじゃね?

654 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 20:47:40
>>651
「2000以降」って言われても、2000〜2003と2007では全然違うから。
2007では集計関数が強化されてるから、そういう合計は一発で出すことが出来る。
どのバージョンでも使えるのはピボットテーブルだけど、動的な集計が出来ない。
SUMIFで集計するには基本的に作業列が必要。

655 :651:2008/09/25(木) 22:04:52
回答有難うございます。

>>652 SUMIFだとどのような論理式になりますか?
ANDとSUMIFを組合わせようとしたのですが上手くいかなくて…。

>>653 2回…どんな感じに組立てればいいでしょう。

>>654 申し訳ありません。
複数人が使用する予定のファイルで、各自のバージョンは2000〜2003です。

656 :名無しさん@そうだ選挙にいこう:2008/09/25(木) 23:02:00
>>655
   A      B    C
1 日付  仕入先   金額
2 9/1   山田商店  100
3 9/1   山田商店  200
4 9/1   田中電子  150
5 9/5   山田商店  120
6 9/5   田中電子  180
7 9/5   山田無線  330

という表があったとして、D列を作業列とする。
D2に =MONTH(A2)&"/"&DAY(A2)&B2 という式を入れてオートフィル。
あとは =SUMIF(D2:D7,"9/1山田商店",C2:C7) でお望みの集計結果が出せる。
この "9/1山田商店" の部分をB表の左端と上端から合成して作ればいい。

657 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 01:19:51
DSUM使うのはどうだろう?

CriteriaはExcel2002以外なら
日付 仕入先
9/1  山田 

Excel2002なら
日付 仕入先
9/1  山田* 

これなら山田商店も山田無線も集計されるしさ。

658 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 01:28:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

電話番号の修正について質問です。

090-1234-5678
90abcdefgh
090(ABCD)EFGH
03-1234-5678
3abcdefgh
042-1234-5678
・・・・

と、ハイフンやかっこで区切ってあるもの、頭の0が表示されていないもの、携帯と固定電話が一緒になっています。
これを頭に0を表示していないものは表示し、各番号に下から4桁、4桁のところにハイフンを入れたいです。
さらに
     A               B
090-1234-5678
090-abcd-efgh
090-ABCD-EFGH
                 03-1234-5678
                 03-abcd-efgh
                 042-1234-5678
              ・・・・
と携帯と固定電話で列を分けて表示するにはどうしたらいいのでしょうか?
よろしくお願いします。

659 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 02:12:45
>>658
元データがC1以下C列に入っているとして、D、E列を作業列にする。
D1=SUBSTITUTE(SUBSTITUTE(IF(LEFT(ASC(C1),1)="0","","0")&ASC(C1),"(","-"),")","-")
E1=IF(ISERR(FIND("-",D1)),LEFT(D1,LEN(D1)-8)&"-"&MID(D1,LEN(D1)-7,4)&"-"&RIGHT(D1,4),D1)

A1=IF(OR(LEFT(E1,3)="080",LEFT(E1,3)="090"),E1,"")
B1=IF(OR(LEFT(E1,3)="080",LEFT(E1,3)="090"),"",E1)

でも、一言言わせてもらうと固定電話の市外局番は4桁とは決まってないよ。

660 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 02:36:36
>>658
> 042-1234-5678

これ、ありえないから。
固定電話は大阪の一部だけが9桁で、あとは10桁だったはず。11桁は携帯だけ。
この場合だと局番が3桁で 042-123-4567 みたいになる。

661 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 08:38:26
使えねぇな

662 :658:2008/09/26(金) 09:21:04
>>659
ありがとうございます。
市外局番は気付いてましたが、とりあえず振り分けようということで無視してます。
これもきちんと直せるのでしょうか?

>>660
すみません、例に出す桁数を間違えてました。
実際には10桁で入っているはずです。

663 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 09:48:00
よろしくお願いします。>>647-649  の応用です。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 配列 条件 かな?

A1=3 B1=2 C1=6 D1=4 E1=5

A2=2 B2=4 C2=5 D2=7 E2=8

のように数値が入力されていたとします。
このとき、上のグループと下のグループを
各列ごとに比較すると、
上のグループが下のグループより大きいものが2つあります(A1とC1)。
そこで

fx(A1>A2,B1>B2,C1>C2,D1>D2,E1>E2)=2
となるような関数fx ってありますでしょうか?

>>648 を応用していろいろ作り変えてみたのですが、
どうもうまくいきません。
よろしくお願いします。

664 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 09:54:03
レベルの高いバカが現れたな

665 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 09:55:01
>>663
=COUNTIF(A2:E2,">"&MAX(A1:E1))
配列数式は必要ない

・・・学校の課題かな?

666 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:06:30
セルの中に少し長い文章を書くときって
勝手にセルが、文章に合わせて
下に伸びてくれないの?

横に1行で長くなってしまうんだけど・・・・・

667 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:08:18
セルの書式−配置−折り返して全体を表示

668 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:13:19
>>667
ありがとう

ただ、質問を間違えました
セルを結合した場合を聞きたかったんです
すいません

669 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:45:25
マクロに登録はやり方がわかったのですがボタンに登録する方法がわかりません
どうすればいいのでしょうか?

670 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:47:51
A列に名前
B列にフリガナが書いてるのですが
あ行のみ名前を抜き出したりしたいのですが
どうすればよろしいのでしょうか?

671 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:49:18
>>669
どこの何ボタンくらい言わなきゃ

672 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:52:55
>>670
オートフィルタで
あ 以上 AND お 以下

とかにする

673 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 10:56:28
条件反射でレス打ってた・・・
先頭1文字作業列作って抜き出してやってね

674 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:17:00
>>669
Excelのバージョンぐらい書かなきゃ

675 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:18:28
>>670 >>672
「あ」以上「か」未満 じゃないとだめだぞ
      ^^^^^^^^^

676 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:21:32
>>665
レスありがとうございます。

A1=3 B1=2 C1=6 D1=4 E1=5
A2=2 B2=4 C2=5 D2=7 E2=8

列ごとに比較して上の行で下の行を上回るセルの数は2です。
(A1とC1)

=COUNTIF(A2:E2,">"&MAX(A1:E1))

確かにこれだと、答は2になりますが、MAXに疑問を感じたので、
D2=6 E2=6に変えると、答はやはり2のはずなのに、0になってしまいますね。

どうしたらいいでしょう?

677 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:24:16
>>668
勝手に(自動で)伸ばすのは無理

678 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:29:04
「上回る」ってもしかして「以上」だったのか?
もしそうならMAXとかではなくて不等号の問題

679 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:38:31
>>676
単純に、こういうことでしょ

{=SUM(IF(A2:E2>A1:E1,1,0))}

680 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:42:52
669です
シートの中にボタンを表示させてそのボタンを押せばマクロを実行させたいのです

681 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:47:25
>>680
貼り付けた直後にそのボタンをダブルクリック

682 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 11:49:15
>>679
単純に「上下を比較して下が大きい物の数を数える」だったのか・・・

>>680
ttp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_130_02.html
少しは検索しようなw

683 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 12:29:12
A4用紙に十字の線いれて4分割にしてそれぞれ図と説明書きを入れたいんですけどそういうのってエクセルでやるとめんどくさいんでしょうか?
ワードのがいいならそっち覚えようと思います。
あとエクセルってルビ入れたり横書きの間に縦書き入れたり行間自由にできますか?

684 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 12:35:15
最終的に紙に印刷するならWordのが向いてるよ
Excelは印刷がウンコの搾りカス以下だから苦労するんじゃないかな

685 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 12:41:47
Excelは文書作成ソフトではなく計算ソフトですよ

686 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 12:43:28
簡単な文書や広告ならエクセルのが速いって聞いたんだけど・・・

687 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 12:52:25
>>686
「簡単な」文書や広告ならな

>横書きの間に縦書き入れたり
Wordよく知らないがこれってできるのか?

688 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 13:01:36
テキストボックス使えば出来ますよ

689 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 13:14:34
>>686
縦書きと横書きが混じるのは「簡単じゃない」けど、そういうのってある程度使い慣れてから
わかることなんだよな。
でもいちいちテキストボックスを貼り付けるんならExcelでも手間は大差ないけどな。
印刷目的なら間違いなくWordのがいい。

690 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 13:21:58
>>683
縦書きの中に横書きって組み文字のことじゃね?だったら一太郎使え。
Wordは日本語特有の文字の並べ方、とくに等間隔で文字が並ぶ縦書きが苦手。
できないことはないけど、かなり注意して編集しないと記号や約物が横倒しになったり
変な方向にずれたりする。縦書きフォントを使えばいいとか、そんな簡単なことじゃない。

Excelは論外。

691 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 13:22:20
印刷するんでワードにします
プレビューで正確に表示されててもプリンタから吐きだした物のレイアウトが乱れてたりしたら嫌なので
レスくれた人たちどうもありがとこうございました

692 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 14:42:19
>一太郎使え
いろんな意味でありえねぇ回答だぜ

693 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 14:55:19
>>679

勉強になりました。
ありがとうございました!


694 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 20:17:38
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2008
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否

空白の存在する表で
min関数やAVERAGE関数を用い
空白を除いて計算するにはどうすれば良いでしょうか?

よろしくお願いします。

695 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 20:31:50
試してみた? 空白は無視して計算するはず

696 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 20:43:41
試したのですが、minは空白のゼロが出て、
AVERAGEは空白行も含めた行数の平均になってしまいます。

697 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 20:50:27
うちには2008はないから検証できんなあ。2007から仕様が変わったんだろうか。

698 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 20:52:51
>>696
2007で試してみたけど、どっちの関数もちゃんと空白はノーカンになったぞ。
何か書式とか設定されてない?

699 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 21:03:54
お騒がせしてすみません。
書式は何も設定していません。

700 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 21:06:12
たびたびすみません。
表示形式が通貨になっていました。
標準の表示形式では、ちゃんと計算できました。
ありがとうございました。

701 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 21:06:44
空白のつもりで0を入力してるとか

702 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 21:21:35
>>701さん
そうでした・・・笑

関数で0が表示されているセルに
minやavregeを使うからおかしくなったんですね・・・

ありがとうございました。


703 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 22:22:38
>>686
セルを方眼のように使うとバカでもそれなりにレイアウトが取れる

小学生は工作でも図表作成でもなんでも方眼入りの紙使うし、
小学校低学年はノートまで罫線ではなく方眼なように、
方眼があればレイアウトを脳内で明確にイメージする能力が無くても
そこそこのものが作れる

だから、そういう能力に欠ける人は、先に明確なイメージを作らなくても
行き当たりばったりでそこそこ形になる方眼ベースが楽に感じるかも知れないが
そういう能力さえあれば、簡単な文書でもワープロの方が速くなる

これはパソコンの知識とはあまり関係ないので、出来る人は最初から出来るし
何年もパソコン使っていながらいまだにExcelで文書や広告、計算無しの図表などを作ってる人もいる

704 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 22:46:18
ROUNDUPについて聞きたいのですが。(情報処理検定3級)

B11の割合を求める問題で、割合は、「月別計(B10)/月別計の合計(F10)」

条件は、%表示で少数第1位まで表示する内容で、

私は、ROUNDUP(B10/$F$10,1)だと思ったのですが、

回答を見てみると、ROUNDUP(B10/$F$10,3)と書いてありました。

なぜ3なのでしょうか?少数第1位までなら1で表示できると思うのですが、

%に直す仮定で3のほうが効率が良いとでもなってるのでしょうか?

なぜ3なのかわかる方いましたら教えてください。

お願いします。

705 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 22:49:45
>>704
0.1%=0.001だから。%形式に直す前の数値を基準に少数以下の桁数を数える。

706 :名無しさん@そうだ選挙にいこう:2008/09/26(金) 22:57:25
>>705 有難うございます。また何かあったらよろしくお願いします。

707 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 11:55:41
>>236
英語版だけど。
アウトラインの右下にあるちっこいマークをクリックしてダイアログボックスを出す。
で、 Summary rows below detail のチェックをはずす。
日本語が分からんけど、チェックボックスが 3 つしかないから分かるっしょ。

708 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 13:26:42
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2000

すみません。一般的な質問なんですが、
昔、ノートPCを買った時にExcel2000とワードが
付属ソフトとして付いてきました(CD-ROMもあり)。

そろそろ新しいExcelに買い換えたいのですが、
この場合、新規で買わずにアップグレード版を
買っても構わないのでしょうか?

Excel2000時のユーザー登録ははっきりと覚えていないのですが
してないと思います。

709 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 13:59:18
いいよ。ユーザー登録は関係ない

710 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 14:00:16
2002以前は登録しなくてもOK

711 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 14:48:29
本当はダメだけどね。
その手のOfficeは有る意味DSPなんだよ。
そのPCで使う事を前提として安く提供されてるんだ。
馬鹿馬鹿しいけど値段に反映されてるんだから仕方ない。

対して、パッケージ版のクソ高いofficeはPCの指定無しに
一台のみライセンスって事だけだから、AにインスコしてBにも
インスコするのはライセンス違反だけど、Aから消してなら
BでもCでも好きなPC一台にインスコできる。

712 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 14:58:35
馬鹿はレスしなくていいんだよ

713 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 16:05:39
708です。皆さんありがとうございます。
本当はダメだけど、アップグレード版は買えるのですね^^;
それでやってみようと思います。

今はアクティベーションで
ネットからIDとか監視しているのですかね?
同じExcelが同時に動いてたら、
警告したり、片方の起動を止めるとか…。

714 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 16:26:33
ごちゃごちゃ言うなら通常版買えよ、カスが!!

715 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:39:54
【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

下記の様なリストがあり、
A列とB列で同じセルが無いかを簡単に比較する方法はありませんか。
(下で、犬、猫を抽出する方法)

A B
1 リンゴ 犬
2 ミカン 猫
3 スイカ 猿
4 犬 豚
5 マンゴー 猪
6 猫 熊

今は、ひとつづつ検索をかけています。
よろしくお願いします。



716 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:45:00
>>715 です。

スペースがうまく表示されず、表が崩れてしまってすみません。

717 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:52:11
excelにまとめているアドレス帳内の全てのメアドに、BCCでメールを一括送信したいです。
普通にやると、メアドを1つ1つコピペしなければなりませんが、自動処理など楽する方法はあるのでしょうか。
教えてくださいまし。。。

718 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:52:24
>>715
結果はどこにどういう形で出したいの?

719 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:57:06
>>715
意味わからんw 下の例で1の様にAとBのセルが同じなら抽出するってこと?

  A    B
1 犬   犬
2 リンゴ  犬

720 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 21:57:42
>>717
メールの送信にOutlookを使うなら、
Excelでメールアドレスの入ってる列を選択してコピー→Outlookのメッセージの作成ウィンドウでBCC欄にペースト
するだけで何百件あろうと一度に送れる。

721 :720:2008/09/27(土) 22:02:22
>>717 >>720
手順が1個抜けた。
メッセージの作成ウィンドウで「CC」ボタンを押して、出てきたウィンドウのBCC欄に貼り付け

722 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 22:11:57
>>717
CDOでググろう

ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_080.html

723 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 22:12:08
>>721
ありがとうございます。
あら、そんな単純な話だったんですね、、、
まとめてコピペするとメアド毎に改行されてますが
メアド同士の間の;とかは送信時に勝手に処理してくれるってことですかね。

724 :>715:2008/09/27(土) 22:46:28
標準機能に無いので、VBAを使わずに抽出することは出来ない
B列の重複分に目印を付けるだけなら、これをC列にコピーすればいける
=IF(ISNA(VLOOKUP(B1,A:A,1,FALSE)),"","*")

725 :名無しさん@そうだ選挙にいこう:2008/09/27(土) 23:04:20
>>645
うちの会社でマックをサーバーとして使ってたとき
複数のPCから同時に同じエクセルファイルを開けた
あとから開いても「使用中云々」のメッセージも出ない
結局保存されるのは最初に開いたやつの分だけだとわかった。

もしこんな感じなら対処法は「声を掛け合う」くらいだったが…

726 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 00:41:08
共有されたファイルを同時に開こうとすると、後から開いたマシンでは読み取り専用になるはずだけど

727 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 01:18:09
2003の場合は、ツール→ブックの共有の機能を有効にすれば、
複数のユーザーで同時に編集が可能だよ。
複数のユーザーで同一箇所の編集を行った場合は、後から保存しようと
したほうのユーザーのエクセルに確認メッセージが出た気がする。

728 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 01:35:41
>>574です。アク禁がとけました。>>578さんどうもありがとうございました
改めて続きの質問をさせてください
B列の数値と特定の数値(例えば4.5)と一番近い数値の行数を知りたいのです。

-----C------D-----E--------F
02 ********<0.3> 「****」と「< >」はここで縦の列を揃えるためです
03
04 < 95.5> <95.5> C列はB列からINDIRECT関数で得た数値を引き算した結果
05 < 90.2> <90.2> C4=95.5はB4=100 から 4.5 を引いた結果です
省略*********** D列はC列の絶対値のABS関数で「-」を削除
44 < 4.5> <4.5> セルD2は=MIN(D4:D70)でD列の一番小さい数値0.3を表示
45 < 0.3> <0.3> 
46 < -5.5> <5.5>  ワンステップごとに処理しないと後で何をやっているのか
省略*********** 分からなくなるのでとりあえず今はこうしています
70 <-50.1> <50.1>

ここまでは何とか出来たのですが、次にどうしたらD列の<0.3>ある行数の45を
表示することが出来るのか教えてください。
どうかよろしくお願いします

729 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 01:56:29
>>728
=match(D2,D4:D70,false)+3

730 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 02:35:30
>>729
行数がセルに表示できました。
MATCH関数の使い方を参考にして、あれこれいじっていたら出来ました。
英単語からの発想でSEARCH、FIND、みたいなのばかり見ていました
どうもありがとうございました

731 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 12:52:46
「ファイルを開く」→「ファイルの場所」で、いつもマイドキュメント
が出るのですが、これ、一つ前にアクセスした場所になるよう指定でき
ませんか? よろしくお願いいたします。


732 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 15:15:52
>>731
カレントフォルダは設定でマイドキュメント以外に変更できる。
よく使う場所が数ヶ所ならマイプレースに登録。

「一つ前にアクセスしたフォルダ」ってのはできない。
VBAでなんとかなるかな?

733 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 15:29:14
初心者的な質問ですみません…。
私が会社で使ってるパソコンが新しくなって、office2003に変わったのですが、一部のソフト(smile)がExcel2000にしか適応していません。
このためExcel2000だけをDドライブに入れて、一部のソフトだけで使いたいのですが、可能ですか?
小さな会社なので誰も分からないとしか言ってくれません。詳しいお兄さんたち…宜しくお願いします!
OSはXPです。

734 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 16:20:42
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

VBでのみ回答お願い致します。

VBを使って、入力した数値を10000なら100k、1000000なら1Mみたいな感じで単位を変更する機能を付けたいのですが
どうすれば良いでしょうか?

それとVBで、常用対数を使い方を教えて下さい。

お願い致します。

735 :734:2008/09/28(日) 16:50:26
常用対数に関しては自己解決しました。
あと単位換算について回答お待ちしております。

736 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 17:21:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAで特定のシート名のシート以外を削除する方法を探しています。

「Sheet1」〜「Sheet10」の10シートを含むブックで
「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet8」を
削除したいと思っています。


737 :736:2008/09/28(日) 17:26:59
間違いがありました。

「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet8」
→「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet9」

の間違いです。お願い致します。

738 :>736:2008/09/28(日) 17:33:02
Sub TEST()
Application.DisplayAlerts = False
For Each WS In Sheets
If WS.Name <> "Sheet1" And WS.Name <> "Sheet10" Then
WS.Delete
End If
Next
End Sub


739 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 17:54:48
>>738
Trueに戻しとかなきゃ

740 :736:2008/09/28(日) 17:56:42
>>738-739
ありがとうございます!
希望通りの動作でした。あとは最後に
Application.DisplayAlerts = True
をつければ良いのですね。

741 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 18:00:12
>>734
VBとVBAは違う物だから注意な

Function x(a)
 x = a
 If a >= 1000 Then x = a / 1000 & "k"
 If a >= 1000000 Then x = a / 1000000 & "M"
End Function

742 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 18:02:50
>>733
2000と2003を1台のパソコンに同時に入れて使い分けるのは可能だが、
そのsmileとやらは見たことも聞いたこともないので、
その状態で正常に動作するかどうかは知らん。

743 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 18:57:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

新しいマクロでデスクトップにCSVファイルで保存する作ろうと
思いましたが出来ませんでした。

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


744 :>743:2008/09/28(日) 19:24:46
Sub TEST()
ActiveWorkbook.SaveAs Filename:=Replace(UCase(ThisWorkbook.FullName), ".XLS", ".CSV"), FileFormat:=xlCSV
End Sub

745 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 19:29:02
>>744
ありがd。やってみます。

746 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 22:55:37
>>742
ありがとうございます!ドライブを分けてインストールすれば大丈夫ですよね?

747 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 23:34:29
>>746
同ドライブでもインスコ可

748 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 23:50:47
6階層のドロップダウンリスト作ってるのですが
同じ文字列を違う条件で検索するのに
いちいち判別記号をつけているのですが
何か良い案を教えてください!

マクロ使えず
VLOOKとINDIRECTを単体でしか使えず
困っています。

749 :名無しさん@そうだ選挙にいこう:2008/09/28(日) 23:59:37
>>747
えっ…それってExcel起動したら2000が出てくるとか、エラーにならないんですか?
普通にExcel2003が立ち上がりますか?
たびたびすみません…。

750 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 00:04:33
昔会社でやったけど
スタートメニューに2000と2003両方のアイコンが出来て、
どっちでも立ち上げられるようになるはず

751 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 00:31:31
>>750
そうでしたか!ありがとうございました!
明日会社で試してみます。色々とすみませんでした。

752 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 00:38:17
>>749
そのままの状態だとxlsファイルのダブルクリックでは後からインスコした方が起動するから注意な。
これはどのドライブに入れても同じ。

753 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:00:13
セルに入力後enterおしてから次に移動するセルを
指定することってできるんですか?
でふぉではしたのセルですよね

754 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:05:09
たとえばc3の次にa3を入力c4の次はa4とか
いうかんじで…

755 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:14:55
予めCtrlを押しながら入力したいセルを全部選択しておけば
その順番にEnterで移動する

756 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:23:37
どうもm()m
入力する順番は決めれないんでしょうか?
でふぉだと列ごとみたいですが行ごとに

757 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:30:03
ツール→オプション→編集→入力後にセルを移動する→方向
を変更(下→右)

758 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 02:40:12
あーありがとうございまっす♪

759 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 07:47:24
smileって大塚商会のか?w

べつに2003でも問題ないでしょ。
何か不具合あったの?

760 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 08:32:05
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2003

セルにカーソルを置くと、上のツールのボタンの所に、
そのセルに書いてある文字や、数式が表示される物があったのに、
いつの間にかなくなっていました。
不便なのでもう一度出したいのですが、どのようにしたらよいですか?
よろしくお願いします。


761 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 08:39:38
ツール→オプション→表示タブ→数式バーにチェック。


いま2000でしか確認できないけど、2003もさほど変わらんでしょw

762 :760:2008/09/29(月) 08:45:51
>>761 出ました、ありがとうございます、助かりました。


763 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 14:23:31
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

データの集計に関してです。
あるデータをピボットテーブルを使い纏めたのですが
縦にずらっと長くなってしまい資料として見辛いです。

画面の左半分しか使っていないため、右にも表示されるようにして
今の画面の二倍の情報量を表示したいのですが可能なのでしょうか?
検索してもそのような使い方はありませんでした…orz

また、ピボットはマクロ化やテンプレートのようにして
呼び出して使う事はできるのでしょうか?
毎回テーブルを作成するたびに同じ作業をしなければ
ならないのでしょうか…?

764 :645:2008/09/29(月) 15:35:44
>>646
いえ、設定自体は複数から編集を可能になっていました。
みんなで何度も見直してみたのですがだめで。

>>725
それ!まさにそれです!
マックじゃないんですがそれです!
声をかけあう…やっぱりそれしかないんですね。
ありがとうございました。声かけあってみます。

765 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 15:44:55
>>764
それでいいんなら普通のファイル共有にして、後から開いたのが読み取り専用になるようにした方が確実じゃないか?

766 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 21:10:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

みなさま、どうかお教えください。

A列   B列
佐藤  9月28日
田中  9月29日
佐藤  9月30日
田中  10月1日

という情報が入力されているところで、「田中」の「今日より日付が前の物」
が何件あるか、というのを調べたいです。

見よう見まねで
=SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(C3:C7,"<"&TODAY())"))
こんな式を入れてみたのですが答えは「0」で
ただ今日より前の日付を調べるということで
=COUNTIF(B1:B4,"<"&TODAY())
これを打つと、きちんと「1」と返してきます。

どのようにすればよいでしょう。。。

767 :766:2008/09/29(月) 21:19:30
すみません、おもいっきり間違ってました。
誤:=SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(C3:C7,"<"&TODAY())"))
正:=SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(B3:B7,"<"&TODAY())"))



768 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 21:34:47
>>767

簡単数式でやればCの列に=IF(TODAY()>=B2,1,"")の式を入力して
田中をCOUNTIFで計算すれば?

769 :766:2008/09/29(月) 21:51:27
>>767
すみません。「田中をCOUNTIFで計算すれば?」の意味が良くわからないのですが。

C列には1と表示されています。。。

770 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 22:08:52
すまん。sumifだったw
C6に次のとおり入力したらどう?


A列   B列    C列
1佐藤  9月28日   1
2田中  9月29日   1
3佐藤  9月30日   0
4田中  10月1日   0

6田中         =sumif(A1:A4,a6,c1:C4)


それと=IF(TODAY()>=B2,1,"") 左の>=の=いらないねw

771 :766:2008/09/29(月) 22:19:30
>>768
アドバイスありがとうございます。できました。

が、ついでにもう1つアドバイスを・・・。
・作業列を使用しないでできませんでしょうか
・日付が入っていないセルもカウントしてしまうようなのですが、空白セルはカウントしない、を
 組み入れることはできませんでしょうか

772 :名無しさん@そうだ選挙にいこう:2008/09/29(月) 22:35:16
作業列使わない方法については酔いが醒めてからw

>・日付が入っていないセルもカウントしてしまうようなのですが、空白セルはカウントしない、を
>組み入れることはできませんでしょうか

Cのセルの数式を=IF(B1="","",IF(TODAY()>B1,1,""))に変更したらどう?

773 :766:2008/09/29(月) 22:38:52
>>768
できました!よかった・・・

作業列使わない・・・はお時間のあるときにまた教えてくださーい。

本当に助かりました!感謝です。

774 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 08:39:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】合算 累計 計算式 循環参照

少年野球の記録をつけようと思っています。
表を二つ作って、一つ目は「今日の結果」、二つ目を「総合記録」にしたいのです。
【今日の記録】
名前 打席 打数 安打 ……
◎◎  2   1  1
△△
【総合】
◎◎  10  5  3
△△
例えば今までの総合打席が10打席だった◎◎君が今日2打席たったとして、
「今日の記録」に2と入力したら、総合記録に12と表示されるようにしたいです。
=D3(今日打席のセル)+D23(総合打席のセル)、のようにしてみたのですが、「循環参照のため計算できません」と表示されます。
循環参照についてヘルプを見たのですが解決方法がわかりませんでした。
またこの式だと、今日打席の数字を消してしまったらまた10に戻ってしまいますよね?
どうかよろしくお願いします。

775 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 08:57:00
>>773
自分でやるつもりのようだからヒントだけ・・・
作業列のIFを配列数式にして合計すればいいよ

>>774
D23にその式入れてるからいけない
総合打席のセル(D23)は
=SUM(日々の打席のセルの範囲)
見たいな感じにする

776 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 09:05:26
>775
回答ありがとうございます。
ただ、日々の打席としては残さず、
「今日の記録」欄はある意味今日の成績の入力欄のような感じで考えています。
「今日の記録」欄に入力すると、その値が「総合記録」欄に合算されていく、というか。
合算されたら「今日の記録」欄の数値は消し、また次の試合の時に入力するような感じです。
こういう計算はエクセルでは不向きでしょうか?

777 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 09:11:49
>>775
例えば「今日の記録」を入れる前に「総合記録」を別の行に値だけ貼り付けるなど
「昨日までの記録」をどこかに残しておかないとその計算はできません

778 :774:2008/09/30(火) 09:17:57
>775,777
「昨日までの記録」を貼り付けることで対処します。
素早い回答ありがとうございました。
とても助かりました。

779 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 15:11:35
エクセルの関数、式の
処理にかかるPCへの負荷などを調べられるサイトはありませんか?

最近自作のソフトが重くなってきたので
なるべく重くなる関数、式は使わないようにしようかと思ってるのですが


780 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 15:21:46
>>778
【昨日までの結果】+【今日の結果】=【総合の結果】
にして

マクロの記録を押して
【総合の結果】をで全部コピーして【昨日までの結果】に値でペーストする
今日の結果を全部選択してクリアする
マクロの停止を押す

ボタンを作ってさっきのVBAを登録する。

毎回ボタンを押してから、今日の結果を入力すればOK!


781 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 16:49:33
>>779
VBAで1秒間に再計算何回できるか計ってみれば?
その回数が重さの目安になると思う

782 :779:2008/09/30(火) 18:19:08
>>781
方法はよくわかりませんが、何かヒントが見えました。
ありがとうございます。


783 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 19:42:39
【1 OSの種類       】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか  】 a little
【4 VBAでの回答の可否 】 VBAで下さい
【5 検索キーワード   】書式 検索 VBA

A2,A3,A4にはこのユニットで使われているケーブルが抜き出してあります。

A6〜A8,A10〜A12,A14〜A16がそれぞれのブロックで使われている、
ケーブル名とその線長です、ケーブル長****mmの所は数値だけ入力すると、
書式設定でケーブル長****mmとなるようになっております。

それぞれのケーブルの線長をB2〜B4に出すのに、
書式を検索してそのセルの数値を取得しようと思うのですが、
どのようにやったらよいか皆目見当がつきません。

エクセルマスターの皆様宜しくお願いします。


784 :783:2008/09/30(火) 19:43:06
-------------A----------------B---
<01行目> <ケーブル名> <総線長>
<02行目> <ケーブルA>
<03行目> <ケーブルB>
<04行目> <ケーブルC>
<05行目>
<06行目> <ケーブル長7000mm>
<07行目> <ケーブルA>
<08行目> <ケーブルB>
<09行目>
<10行目> <ケーブル長8000mm>
<11行目> <ケーブルB>
<12行目> <ケーブルC>
<13行目>
<14行目> <ケーブル長6000mm>
<15行目> <ケーブルA>
<16行目> <ケーブルC>

785 :779:2008/09/30(火) 19:56:10
>>783
意味がよくわからないけど

<06行目> <ケーブル長7000mm>
<07行目> <ケーブルA>
<08行目> <ケーブルB>

というのはケーブルAとBが両方 7000mm って事?
で、それぞれのケーブルの総長を知りたいって事?

そもそも表の作り方がおかしいと思うのだけど
これはどうにかならないの?


786 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 20:10:19
>>783
>書式を検索してそのセルの数値を取得しようと
表だけじゃなくやろうとしてることも意味不明ですね・・・
このままではどうにもなりません

787 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 20:38:31
>>783
エスパーしつつとりあえず書いてみた
動かしてみて考えてる通りか検証よろ

Sub a()
Dim i As Integer, j As Integer
Dim Last As Integer
'最終行取得
Last = Cells(65536, 1).End(xlUp).Row
'計算先クリア
Range(Cells(2, 2), Cells(4, 2)).Clear
'ケーブル名のループ
For i = 2 To 4
'長さのループ
For j = 6 To Last
If (Cells(i, 1).Value = Cells(j, 1).Value) Then
If IsNumeric(Cells(j - 1, 1).Value) Then
Cells(i, 2).Value = Cells(i, 2).Value + Cells(j - 1, 1).Value
End If
If IsNumeric(Cells(j - 2, 1).Value) Then
Cells(i, 2).Value = Cells(i, 2).Value + Cells(j - 2, 1).Value
End If
End If
Next j
Next i
End Sub

788 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 21:00:19
>>787
出来ました、ずいぶん分かりにくい表だったようですが、
解読いただき有難うございました。
書式にこだわったのは、数値のみを拾えるのはそれしか無いのかな?
と思ったからでした、IsNumericを教えていただき有難うございました。

789 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 23:00:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ある特定のシートの特定のセル範囲をコピーし、
複数のシートに貼り付けると、貼り付けた部分が反転表示
されますが、これを解除するスマートな方法はありますか?
現在は貼り付けた全てのシートで任意のセルを選択する方法
しかわからないのですが、これでは画面がちらちらして・・・。


790 :789:2008/09/30(火) 23:03:57
書き忘れましたが、マクロでのコピー・貼り付けです。

791 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 23:05:38
>>789
1つのセルが選択された状態にしたいだけなら
貼り付けた後適当なセルを1つ選択すればいいだけ
どのシートも同じ範囲が選択されるはず

792 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 23:11:15
それが厭だと言ってるんじゃない?

793 :791:2008/09/30(火) 23:15:17
リロードせずに条件反射だけで書き込んだ・・・
まったく反省はしてない

>>789
>これでは画面がちらちらして
処理する前に
ScreenUpdating=False
終わったら
ScreenUpdating=True
これじゃだめなのか?

794 :名無しさん@そうだ選挙にいこう:2008/09/30(火) 23:48:47
>>719

A列とB列に、同一内容のセルがあるかを調べたいのです。



795 :789:2008/09/30(火) 23:58:28
>>793
ありがとうございます!これは初めて知りました。
各シート毎にセルを選択しないで、一度に解除する方法があるのかな?
と思っていたのですが、この方法もいいですね。とても勉強になりました。


796 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 00:18:01
>>794
ひとつずつCOUNTIFするしかないでしょ。

797 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 11:31:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 順位 同点 重複

それぞれの得点が以下のような場合
4 3 5 4

これをRANKを使って順位にすると

2 4 1 2

のように出てきます。

2位は4点が2人いるので、Rankで2つの「2」がありますが、
この「2」を「2.5」で出して欲しいのです。

この2位2人は本来2位と3位だったわけですから、
その間を取って(2位ではなく)2.5位という風にしたいんです。

同様に、例えば1位が3人いた場合、
これらの3人は1,2,3位を占めるはずだったので
間を取って2位(1位)として出てきて欲しいのですが。。。

よろしくお願いします

798 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 11:45:55
>>797
ヘルプでRANKの解説嫁
補正因子の算出法載ってるから

799 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 12:01:57
>>797
> この2位2人は本来2位と3位だったわけですから、
> その間を取って(2位ではなく)2.5位という風にしたいんです。

それはあなたが勝手に考えたルールですね。一般的には二人とも同率2位になります。
A列のA1セルから縦に得点が並んでいる場合、まずB列を作業列としてRANKの結果を出しておきます。
B1=RANK(A1,A$1:A$4)
次にC列に以下のような式を入れれば、お望みの結果が得られます。
C1=B1+(COUNTIF(B$1:B$4,B1)-1)/2

この例は得点が4つの場合なので、B列、C列とも、「$1」「$4」の部分は実際にデータが入っている
セル範囲に直してください。

800 :797:2008/10/01(水) 12:31:34
>>798
>>799

非常に助かりました。
どうもありがとうございます

801 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 19:23:28
エクセル2000
VBAは勉強中です
ボタンを押すとセル(B2)に何も書かれて無い場合に「○○会社」と書いて、書かれて居る場合は更にその下の何も書かれて無いセル(B3)に入力する方法を教えて下さい
ActiveCellのセル番号指定とか出来るならその方法が知りたいです

802 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 20:19:28
>>801
何をしたいのかよく分からないけど・・・

B2以降の直近の空白を埋める
  If Range("B2").Value = "" Then
    Range("B2") = "○"
  ElseIf Range("B3").Value = "" Then
    Range("B3") = "○"
  Else
    Range("b2").End(xlDown).Offset(1) = "○"
  End If

B列の入力されている一番下のセルを埋める
Range("B65536").End(xlUp).Offset(1).Value = "○"

アクティブにするだけなら
Range("B6").Activate

>ボタンを押すと
これはさすがに分かりますよね?

803 :802:2008/10/01(水) 20:21:36
少し訂正
× B列の入力されている一番下のセルを埋める
○ B列の入力されている一番下のセルの1つ下を埋める


804 :名無しさん@そうだ選挙にいこう:2008/10/01(水) 21:05:18
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ヤフーファイナンス

Webクエリに ヤフーファイナンス の株価ページを設定しても
「このWebクエリによって返されるデータはありません」と怒られます。
昨日までは大丈夫でした。

Webクエリの編集で
1. http://quote.yahoo.co.jp/q?s=1306
2. ページ全体
3. なし

としています。

805 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 00:08:07
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少しは使える
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 どのような検索キーワードを使えばよいのか分からない

[A1]は時間の経過により数値が変わります
[A2]には10時丁度の時の[A1]の数値を入れたい

[A2]に 「=IF(TIME(10,0,0),A1)」 と入れても
10時を過ぎると「0」が入れられるため10時のときの値が保存されません
マクロを使わないで何か良い方法はないでしょうか?

806 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 01:19:13
>>805
それはVBA使わないと無理だと思う。
なぜなら値を保持するためには、作業用セルに書き込む動作が必要だけど
ワークシート関数では出来ない。

仮に、A2に入っているIF文で、A2の値をA1の数値に置き換えることが出来るなら、
元々入っていたIF文は消えることになる。(=次回の10時が来たときに何も出来ない)



807 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 03:21:30
>>805
そもそもA1の数値はどうやって書き換えてるの?
セルの内容を時間とともに変化させるにはVBAが必要だと思うんだけど。
A2もいっぺんに書き換えればいいのに。

808 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 05:11:59
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba メソッド セル 移動

アクティブセルからひとつ下のセルに移動するマクロを教えてください

809 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 06:41:19
>>802さん
解り難い質問なのに答えてくださって、ありがとうございます何とか色々解決出来そうです

810 :774:2008/10/02(木) 08:08:10
>780
手間が省けました。ありがとうございました!

811 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 08:26:25
>>808
ActiveCell.Offset(1).Activate

812 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 08:46:11
>>806
無理でしたか。。。
すでにVBAを使っている為、これ以上複雑にしたくなかったのですが。。。

>>807
あるアドインソフトを組み込んでます。
VBA使うとCPUの負担も増えるしと思ったのですが、普通の関数では無理みたいですね。

お二人とも、レス有難うございました。

813 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 09:03:28
>>811
ありがとうございました!

814 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 18:02:00
sheet2のActiveCellをコピーするにはどう書けばいいですか?
Worksheets("Sheet2").Range("ActiveCell").Copy
でやってみたんですが失敗しました

815 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 18:36:47
>>814
Sheet2をSelectしてからActiveCell.Copy

816 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 23:36:11
直接値を取得したいのですがそれは無理ですか?
findとかで使いたいのですが

817 :名無しさん@そうだ選挙にいこう:2008/10/02(木) 23:58:39
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2007 SP1(以前は2003SP2)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 2007 オートシェイプ 線 以前の 斜めになる
前スレとかで既出だったらスミマセン。
10人ぐらいの事務所でExcel2003で報告書や連絡票などを作っているのですが、PC故障のため会社からOffice2007入りPCが支給されました。
FOM出版様の解説本を買ってきて読んでみたのですが

Excel2003のオートシェイプで四角計と線を組み合わせて印鑑を押す欄や簡単な構図を作っていたのですが
欄を増やすため線の位置をずらした時にオートシェイプの線が水平にも垂直にも出来ず、少しずれた(角度が付いた)所にぺたりと張り付いてしまい
水平な線に戻せなくなりました。
垂直な線も同じように、少し傾いた状態なら大丈夫なのですが 垂直な線に出来ません。

Excel2007で線を引いた場合は「接続コネクタ *」という名前の線ができ、これは水平垂直問題なしでした。

仕方なくすべての枠や構図を2007のオートシェイプで作り直そうとしているのですが
数が多いので、何か回避策があれば教えてください。




818 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:20:36
>>817
ttp://blog.heiichi.com/?eid=656713
↑と同様の症状でしょうか?
もしそうなら修正プログラム入れるだけですむかもしれない・・・
手元に2007ないので検証とかはできませんが

819 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:21:14
>>817
図形を右クリックしてプロパティを開くと「回転」という項目があって角度を指定できる。
ここを0か90にすれば水平、垂直になるはず。

820 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:24:20
>>817
新たに直線を引くときはShiftを押しながら引けばぴったり水平や垂直な線になるお

821 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:26:45
>>817
オートシェイプはAltを押しながら操作すると、直線の端っこや四角形の角がセルの交点にぴったり合う

822 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:35:53
>>818-819
ご返答ありがとうございます。
直線ビョーン!も気にはなっているのですがそれ以上に
線が右上がり、右下がりでぴたんとくっついてしまうのが問題です。

>>819氏の言われる通り、角度を0にしても直りませんでした。
角度を45ぐらいにして置くと、斜めに直線を引く時にきっちり45度に引けず47度と49度の辺りの点に張り付くようになってしまいます。
水平っぽく線は引けるのですが、すべての線をこの方法で調整し直すのはよほどの労力を掛ける必要があると判断したので
いっそ、作り直すかと思って居ます。

http://shin.s-ence.org/archives/2008/06/04149.html
↑おそらく私と同じ悩みだと思われる。



823 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 00:37:52
>>820-821
書いている間にありがとうございます。
新しく作り直すなら、そちらの方法で試してみます。
シフトで引くとビヨーンと凄く長い線になる現象も出ているので>>818さんの
パッチ導入後に試してみます。

824 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 14:39:54
Excel2000なんですが、ユーザーフォームを使ってウィザードって作れるんでしょうか?
ユーザーフォームをいくつか作って[次へ]CommandButtomを押すと表示をForm1からForm2へと
表示を切り換えていくようなやり方しかできないんでしょうか。

825 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 15:11:08
>>824
コントロールの表示・非表示を切り替えて別の画面として見せる手もある
まとめてやりたければフレームとか使ってやればいいし

826 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 15:24:18
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 IF ISBLANK 空欄

F1にA1*B1の結果を表示させたいのですが、A1が空欄の場合A2を、B1が空欄の場合
B2を参照する様にしたいです。次に、F2にA2*B2の結果を表示し、F1とF2が同じ値
の時は、F1を空欄にしたいのですが、どなたか教えていただけないでしょうか?
宜しくお願いします。
ちなみに自分で数式を書いてみたら下記のようにとんでもなく長くなってしまいました。
=IF(TRUNC(IF(ISBLANK(A1),A2,A1)*IF(ISBLANK(B1),B2,B1))=F2,"",TRUNC(IF(ISBLANK(A1),A2,A1)*IF(ISBLANK(B1),B2,B1)))

827 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 15:36:00
>>826
F1=IF(IF(A1="",A2,A1)*IF(B1="",B2,B1)=F2,"",IF(A1="",A2,A1)*IF(B1="",B2,B1))
F2=A2*B2


828 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 15:47:34
>>826
複雑な事やろうと思ったらIF文は長くなる、しょうがない

上記の場合、A1とB1を2度ずつ確認するので、
それが嫌だったら別セルで1回にするぐらいしかないか


829 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 15:55:40
すみません質問です。
以下の数式をもっと簡略して数値を表示したいのですが、
どうすればいいでしょうか。
よろしくお願い致します。

=SUM('30期費用予算'!D235:I235)+SUM('30期費用予算'!D270:I270)+SUM('30期費用予算'!D190:I190)


830 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:06:11
>>829
=SUM(Sheet1!A2:B2,Sheet1!A1:B1)
みたいにカンマで区切る

831 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:24:34
>>826
条件を整理すると
F1=IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))
F2=A2*B2
ここまでは短くできた

832 :831:2008/10/03(金) 16:30:05
この条件じゃ空白じゃない時のA1=A2でB1=B2の場合に消えないからだめか・・・


833 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:30:18
【1 OSの種類         .】 WindowsXP
以前excelをパソコンから削除してしまったんですけど
今になってexcelが必要になりました
どこでダウンロードすればいいのでしょうか?


834 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:34:52
CD付いてるだろボケ
つまんねー釣りだ事
いい人生ですね^^

835 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:44:06
>>827-828
回答ありがとうございます。
ある程度長くなるのはしようが無いのですね。
大分すっきりしたので十分です。

このような表が縦に続いていて、最終的にF奇数とF偶数の合計(F奇数が空欄の場合はF偶数参照)
を分けて表示したいのですが、827のような数式を応用して使うのが、簡単なのでしょうか?



836 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 16:55:57
>>835
俺なら
G1=IF(MOD(ROW(),2)=0,F1,"")
H1=IF(MOD(ROW(),2)<>0,F1,"")
で下までオートフィルして、最後に合計出すかな
配列数式とかでもできそうだけど、使わないからよくわかんね

837 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 17:09:07
>>835
{=SUM(IF(MOD(ROW(F1:F8),2)<>0,IF(F1:F8="",F2:F9,F1:F8),""))}
{=SUM(IF(MOD(ROW(F2:F8),2)=0,F2:F8,0))}
>>836を修正して配列数式にしてみた

838 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 17:32:03

http://orochi.iiichan.net/unc/res/2239.html
http://orochi.iiichan.net/unc/res/3276.html
http://orochi.iiichan.net/unc/res/3780.html
http://orochi.iiichan.net/unc/res/3547.html

839 :名無しさん@そうだ選挙にいこう:2008/10/03(金) 17:46:05
回答ありがとうございます。
数式をコンパクトにするのがパズルのようで、私はちょっと苦手なのですが、
皆さん、凄いですね。

>>831-832
説明不足でしたが、A1=A2、B1=B2の場合は、A1及びB1は空欄になるので
831の数式で問題無いと思います。

>>836-837
見慣れない関数があるので、ちょっと意味を勉強してきます。


840 :817:2008/10/03(金) 20:27:41
ありがとうございました。
見積もりなどのメイン業務で使うものは大体2007で修正できるように
変更が終わりました。

ですが、別の人から商品の寸法図入りのExcelを受け取ったのですが
怖くて結局ずれているものは正せずに提出してしまいました。
パッチも実はすでにあたっている状態で最新だったらしく
OfficeUpdateからも特に何もパッチがないということでした。

http://support.microsoft.com/kb/948953/JA/



841 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 00:44:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 ごめんなさい、わかりません(会社のパソコンで見てきませんでした)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否です、理解できる頭がありません
【5 検索キーワード     】 関数、低、べき乗

A^B=C (AのB乗がCになる式です、例えば2^3=8みたいな)
こういう場合で、Aの値を出すエクセルの関数を教えてください

Cの値は【POWER】で、Bの値は【LOG】で出せるところまでは何とか自力で調べたんですが、
Aの値を求める関数が分かりませんでした

もし、Aの値を求める関数がない場合は、多少長くなっても良いのでBとCの値が分かっている時の
Aの値を導き出せる式を組み立てて頂けないでしょうか?

説明が下手ですみません、よろしくお願い致します

842 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 01:07:12
>>841
これはExcel関係ない数学の問題だな。高校の時まじめに勉強しなかっただろ。
A=C^(1/B)

843 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 01:07:43
>>841
A^B = C → A = C^(1/B)
つまりCのB乗根を求めるということでいいのかな?
ならば「=POWER(C,1/B)」だと思うけど。

844 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 01:11:57
>>841
数学苦手な漏れでも分かることが1つだけある
>【5 検索キーワード     】 関数、低、べき乗
の低は底の誤字か?

845 :841:2008/10/04(土) 01:17:50
>>842-843
ありがとうございます!!!
とても助かりました

>Excel関係ない数学の問題だな。
申し訳ございませんorz
>高校の時まじめに勉強しなかっただろ。
おっしゃる通りでございます。

本当に凄く感謝してます、ありがとうございました

846 :841:2008/10/04(土) 01:22:03
>>844
底ですか・・・
すみません、本当に「低」で検索かけてましたorz
教えて下さってありがとうございます

847 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 02:10:41
何じゃそりゃ…と思ったら
n√x
って
x^(1/n)
で示せるのか
知らんかった

848 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 04:32:21
彼女の便秘ぎみの固いうんちをさっき食べました。

849 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 10:22:22
なにここ中卒しか居ないの

850 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 10:26:40
質問です。

給与明細をエクセルで作ってるんですが、
従業員の名前でオートフィルタをかけてプリントしてます。
その時に表題のところに従業員の名前を入力するわけですが、
この間違いが起こり、このような事のないように
オートフィルタで抽出した名前を参照するようにしたいのです。

良い方法はないでしょうか

851 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 10:53:43
VBAでオートフィルタをかけると同時に表題に名前を入れる

852 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 10:54:49
フィルタを掛けた名前を表題に持ってくるよりも、
表題の名前をリストから選択するようにして、
その選択した名前を元に表にオートフィルタが掛かる様
VBAでイベントを組むのがスマートだと思う

853 :850:2008/10/04(土) 12:19:22
ありがとうございます。
VBAとは何かってことから調べてみます。。

854 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 12:38:39
Excelで工程表を作成しているのですが
IF関数で、「4月、6月、9月、11月ならば(末日のセルに)30日(と入力)、2月ならば(同)28日、
それ以外は(同)31日」はどう書けばいいのでしょうか?

とりあえず、まずはうるう年に関しては加味しない事にしています・・・

855 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 12:48:14
>>854
IFだとややこしいからCHOOSE関数使うといいよ
こんな感じで
=CHOOSE(A1,31,28,31,30,31,30,31,31,30,31,30,31)

856 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:10:12
標準では出てこないけどEOMONTHを使うって手もある

857 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:18:59
A1に日付(年月日で日はいつでもいい)が入ってるとすると
=DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1)

って言う手もある

858 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:22:18
>>854
翌月1日から1日引けばいい。これなら閏年にも対応できる。

=DATE(年,月,1)-1
セルの書式設定を「d」又は「dd」に設定

859 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:23:55
入門書レベルの話になるとわらわら湧いてくるなてめーらw

860 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:26:10
>>859
J( 'ー`)し ごめんね、母さん馬鹿だからこんな事しか答えられなくて、ごめんね

861 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:28:21
>859
不特定多数に質問してるんだから簡単な質問には
回答が多くなるのは当たり前じゃないか
昔ここでイジメられたのか?

862 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:35:37
ちょっと小難しいこと訊くと
「簡単」とか「やっても意味ねー」とか言って結局答えないくせにのう

863 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 13:37:02
ヤッパ、イジメられたんだ ( ´,_ゝ`)プッ

864 :>863:2008/10/04(土) 13:49:05
相談スレで虚勢張って楽しいか?

865 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 14:18:19
XPでEXCEL2003を使っています。

表示倍率を変更したいとき、ctrl+ホイールの回転で
拡大縮小ができますが、これを1%刻みで変化するように
できないでしょうか。


普通にctrl+ホイールの回転だと、10%刻みなので、
あともう数%だけ変化させたいとき、たとえば
shift+ctrl+ホイール回転で微調整できるように
なればうれしいです。一々ツールバーに数値入力
では手間がかかります。

他のフリーソフト使用もOKです。よろしくお願いします。

866 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 14:19:18
>864

すぐ反応するバカを見てほくそ笑んでるんじゃないか?

867 :854:2008/10/04(土) 14:36:23
お前ら喧嘩しないでくれw
とりあえず、一番分かりやすい>>855を参照しました
さんくす

で、スケジュール表を作るにあたって、スタートする月を変更出来るようにしました
(とりあえず)全ての月で31日分作って、日が少ない日は31日のセルを塗りつぶそうかと考えています

条件付き書式で「上の関数で日にちのセルに30日と入力された場合はセルを黒く塗りつぶす」というのをやりたいのですが、これもうまくいきません
下の式で入力すると、選択した部分がいつも黒く塗りつぶされてしまいます
条件設定において
「数式が」「=$AD$9="30"」ならば「セルの色を黒選択」だと思うのですが、参照するセルは
$AD$9・・・上のCHOOSE関数の答えが入ってるセル(30とか31とか表示されている)なのか
C7・・・・・上のCHOOSE関数の参照元。ここにプルダウンで月を入力する
のどちらなんでしょうか?
それとも何か入力方法が間違ってるのでしょうか?


868 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 16:24:52
>>867
「数式が」「=$AD$9=30」
これで試してみて

869 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 16:41:24
「数式が」「=$AD$9="30"」でなく、
30日のセルが仮にA1だとして、
「数式が」「=A1<$AD$9」
だとおもうよ。

でいて同じのを29〜31日にも設定しとくといいよ。

>>857-858 のやり方でうるう年に対応できるから、
そっちにしたほうがよいよ。

870 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 23:14:18
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

こんばんは。
A1セルにある文字列がはいっています。

隣のB1セルにA1セルの文字列、最初3文字を取り除いた残りの
文字列を表示させたいとき、どのようにすればいいのでしょう?

よろしくです。

871 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 23:20:55
>>870
=RIGHT(A1,LEN(A1)-3)

872 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 23:21:09
>>870
=RIGHT(A1,LEN(A1)-3)

873 :872:2008/10/04(土) 23:21:40
orz

874 :870:2008/10/04(土) 23:24:05
>>871
>>872
どうもありがとう。

875 :名無しさん@そうだ選挙にいこう:2008/10/04(土) 23:33:19
前にも同じ事を聞いて、それで解決したのですが、
ちょっと出張先で同じ事をしなければならなくなり・・・
再度質問させてください。

マクロで、あるセルに入っている 05:20'56"900 という文字列を、
05:20:56.9 という数値(時刻)データにして別のセルに書きたいの
ですが、どのようにすればよいでしょうか。。。

Left ,Right, Mid などを使って解決する方法を教えてもらったの
ですが、失念してしまいました。よろしくおねがいします。


876 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 00:03:18
>>875
LeftやMidを使うよりこっちのが確実のはず
=TIMEVALUE(SUBSTITUTE(SUBSTITUTE(A1,"'",":"),"""","."))
で、書式を時刻形式にする

877 :875:2008/10/05(日) 00:09:05
>876
いや、もともとの時刻データは05:20'56"900 という文字列なんです。
書式を変えても文字列扱いなので・・・

878 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 00:40:48
>>877
876が言ってるのは
=TIMEVALUE(SUBSTITUTE(SUBST(ry
を入れたセルの書式を変えるってことだろ

879 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 01:25:56
>>877
文字列をシリアル値に変更すると単なる10進数になるから書式も変更しなきゃならない。
結果が文字列で欲しいんなら一番外側のTIMEVALUE関数を外せばいいんだけど、
欲しいのはシリアル値じゃないの?

880 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 02:29:53
875です。先ほどのアドバイス、やっと理解できました。
ありがとうございます。もう一件あるのですが、

20081001054500というシート名を取得して、
セルに2008/10/01という形で出力したいのですが、
どのようにすればよいでしょうか。

881 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 03:33:51
>>880
=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,4)&"/"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+5,2)&"/"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+7,2)

882 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 12:19:41
Windows XP を使っています
excelcnvを開くことかできず
excelを起動することができないのですが
どうすればいいのでしょうか?
質問お待ちしています



883 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 13:51:11
sheet1から10に同じ物を入力させるコードが長すぎなので短い書き方を教えてください
今はコピーペーストして、シート番号だけずらすやり方です
シートは連番になってます

884 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 13:55:03
>>881
センスが微妙…
=TEXT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,8),"0!/00!/00")
の方が…

885 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 13:57:36
>>883
その方法でそんなに長くなるか?

886 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:03:30
A列の書式を日付にして種類をH9.3.4にしました
そして190101と入力したらH432.6.22となりました。
H19.1.1もしくはH19.01.01というのを期待していました。
期待通りにするにはどうしたらいいのでしょうか?

また、この書式種類の本来の使い方はどういうものですか?
1911と入力してもやはり滅茶苦茶なことになりますし。

887 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:08:43
>>886
2007/1/1と入れて味噌?

888 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:09:53
これでオナニーの統計とってる奴いるか?
俺は毎回の精子の量を探求してる。

889 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:28:05
>>887
なるほど
では自分の希望通りにするにはどうすればいいですか?
自分で定義するしかないのでしょうか?

890 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:39:36
セルの書式設定でge.mm.dd にする

891 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:42:59
>>890
上手くいきません
それだと2007/1/1と書いてるものがH19.1.1になるだけです
190101と書いて、H19.1.1にするのはやはり無理でしょうか。



892 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:45:14
セルの書式設定で "H"00.00.00 にする

893 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:49:11
H190101.00.00

という表示になりましたorz
ユーザ定義でそのとおりにしましたら。



894 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:50:00
日付扱いでちゃんと入力するなら、
h19/1/1 か h19.1.1
あるいは 07/1/1 か 07.1.1 として入力する。

895 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:54:16
>>894
なるほどー。入力でやるのが賢いわけですね。
190101を強引にH19.1.1に表示するようにしても日数計算などに対応しづらそうですね。
ついドットやHを打つのが面倒だなと思って考えてしまったのですが。

スッキリ解決ありがとうございました。

896 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:55:29
後々のことを考えれば和暦で入力するのは好ましくない。
西暦で入力してセルの書式設定で和暦表示させるべきだよ。

897 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 18:57:16
>896
入力すんでしまえばエクセル内では同じ数字として扱われる。

898 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 19:45:59
エクセルを持ってないですが、CSVファイルを読み込んだときの挙動を教えてください。
以下のように改行付きのCSVファイルを読み込んだとき、セルにはどのように入るのでしょうか?

--CSVファイル-----------
"ABCDEF","GHI
JKL","MNOPQ"
"123","456","789"
-----------------------

ABCDEF GHIJKL MNOPQ
123     456    789

というように2列として読み込まれるのでしょうか?
また、HGIJKLのIとJの間にある改行はどのように処理されているのでしょうか?

899 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 21:41:12
セル内改行

900 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 22:00:43
>>898
Excelは無料でダウンロードできるので、この程度のことは自分で確かめましょう。
ttp://trial.trymicrosoftoffice.com/trialjapan/product.aspx?sku=3121199&culture=ja-JP

ttp://arakawa.mydns.jp/up/small/src/cyclotron_s0026.png

901 :名無しさん@そうだ選挙にいこう:2008/10/05(日) 22:17:08
>>899-900
サンクス

902 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 08:45:17
質問です。
エクセルのセル内の語句が右にはみ出さないようにしたい
ぐぐってみたのですが下のサイトのように見当違いの答えばかりでした。
http://okwave.jp/qa2455035.html
http://q.hatena.ne.jp/1207063592

1.ただはみださないようにしたいだけです。
2.改行や文字を小さくしたくない。
3.隣のセルは空にしたい。
4.よろしくお願いします。

903 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 08:58:06
>>902
1..はみ出さない文字数で入力する
2.はみ出した分だけセル幅を広げる

自動的に幅が広がるという怪奇現象は起こらないので手動でどうぞ

904 :902:2008/10/06(月) 09:12:18
わたしの日本語が下手なのでしょうか。
質問がまったく伝わってないようです…orz

905 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 09:33:14
はみ出させずに途切れて表示させたいってことか?
だったら「途切れて表示させたい」なんてのは常識的な要望ではないから
ハッキリ書かないと伝わらないぞ

因みに俺はその条件を満たす方法は知らないが、
何故途切れさせたいのか、何故隣のセルにスペースなどを入れられないのか
何故改行じゃダメなのかなどが解れば別な解決法があるかもな
例えば「折り返して全体を表示する」だって、上詰めでセルの高さを1行分にすれば
2行目以降は表示されないから、セル幅1行分で途切れて見えるので
「改行したくない」ではなく「折り返した2行目以降を表示させたくない」だけならこの方法で問題ないはず

とは言え、何をやろうとしてるのか知らないが計算ソフトの話じゃないよなw
質問の仕方も、使用するソフトの選び方も、要所を得てないような気がする

906 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 09:40:29
>>904
>1.ただはみださないようにしたいだけです。
>2.改行や文字を小さくしたくない。
>3.隣のセルは空にしたい。

>1..はみ出さない文字数で入力する
>2.はみ出した分だけセル幅を広げる

完全に希望通りの答えだと思うのだがw

907 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 10:01:09
>>902
質問の日本語は全く問題ないし理解できるが、
結論から言うとその条件をすべて満たす方法は無い。
何のためにそういう事をやりたいのか、という背景が分かれば
代替案なら出せるかもしれないからそれを書いてください。

908 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 11:08:30
回答者様バカ晒したからって必死すぎだろwwwww

909 :902:2008/10/06(月) 11:21:47
>>907
ありがとうございます。下手な日本語でしたが理解してくれてうれしいです。

例えばAに長文を入れます。
すると隣のBが空の場合はみ出して表示されますよね。
(でもBが空じゃない場合はみ出さない。)
あとでBに文字を入力するとき、はみだしたAの文字が邪魔で仕方ない。
ちょっと設定をいじるとはみ出さないように出来るんじゃないか?と思い質問しました。
でも、できないなら諦めます。エクセルってまだまだ未開発ですね(汗

例を出すとこんな感じ

A        |B
Aですよおおお|Bですよおおお ←Bに文字があるとAの文字は途中で切れる
Aですよおおおおおおおおおおお ←Bが空だとAの文字がはみ出して表示される

これを、Bが空でもAの文字を隣にはみ出さないようにしたい。

910 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 11:23:32
>>902
の要望はなんとなく分かる
住所録(左から名前・住所・電話番号とする)なんかを作ってるときに、
住所打った後に電話番号を打とうとすると入力されてるような気分になって
数式バーを確認したりしてしまう
それだけ?と言われると、それだけとしか答えようがないんだけど、
スレ違いでも無い

この予測が当たっていれば、そのはみ出してくる列(上の例で言うと住所の列)を非表示にするのが
良いと思います。

911 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 11:29:46
>見当違いの答えばかりでした。
>質問がまったく伝わってない
>エクセルってまだまだ未開発ですね(汗
この辺がうざいですね。
そこはかとない傲慢さを感じます。

912 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 11:31:34
何かデータを入力するたびに、隣のセルに自動的にスペースを入れるマクロなら簡単に作れるよ

913 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 11:36:14
>>902
見当違いっていうか、無理だから代案が出てるだけだね。

914 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 12:14:06
>>909
A列が切れるのはいいのか?
だったらB列と結合してB列を非表示にすればいい
これもだめならセルの幅広げるか字数制限するしかないだろ


915 :826:2008/10/06(月) 13:27:45
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 INT TRUNC 切捨て

前回いただいた回答で、問題はほぼ解決できたのですが、
F1=IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))の結果を
小数点以下切捨てにしようと、INT、TRUNC等を頭につけると、
A1とB1が空欄の場合、#VALUE!とエラーが出ます。
何か良い方法はあるのでしょうか?宜しくお願いします。

916 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 13:33:01
>>915
=IF(AND(A1="",B1=""),"",INT(IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))))

917 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 13:35:02
>>915
ああ、数式をよく読んでなかった。こっちが正解(短縮しただけだけど)
=IF(AND(A1="",B1=""),"",INT(IF(A1="",A2,A1)*IF(B1="",B2,B1)))


918 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 13:43:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA MySQL Driver
【やりたいこと】Excel VBA + MySQLを使って、データベース.テーブルの中身を"A列i行","B列i行"表示したい。(データソース(ODBC)登録済み、DSN=SampleDSN)
【できないこと】下記ソースコードを書いたのですが、実行すると、エラーハンドラが呼び出されてしまいます。『この操作を実行するために接続を使用できません。このコンテキストで閉じているかあるいは無効です。』
Sub Main()
On Error GoTo Err
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
con.Open "Driver={MySQL ODBC 5.1 Driver};server=localhost;dsn=SampleDSN;uid=root;pwd=;"
rs.Open "select * from Database1.Table1;"
i = 1
rs.MoveFirst
Do Until rs.EOF
Cells(i, 1) = rs.Fields(0).Value
Cells(i, 2) = rs.Fields(1).Value
rs.MoveNext
i = i + 1
Loop
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
Err:
Set rs = Nothing
Set con = Nothing
MsgBox (Err.Description)
End Sub


919 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 14:26:37
>>915
よくわからん。
=IF(INT(A1*B1)=INT(A2*B2),"",IF(COUNT(A1:B1)=1,SUM(A1:B1),INT(A1*B1)))

920 :919:2008/10/06(月) 14:58:34
微妙に訂正
=IF(INT(A1*B1)=INT(A2*B2),"",INT(IF(COUNT(A1:B1)=1,SUM(A1:B1),A1*B1)))

921 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 15:24:22
>>918
con.Open "Driver={MySQL ODBC 5.1 Driver};server=localhost;dsn=SampleDSN;uid=root;pwd=;"

con.Open "dsn=SampleDSN;uid=root;pwd=;"
にしたらいけたりするのかな?

DB接続なんてほとんどしないし
適当にググってみた結果だけどw

922 :918:2008/10/06(月) 16:14:56
>>921
ドライバ・サーバの指定無しだと、このように出ます。
『[Microsoft][ODBC Driver Manager]データ ソース名および指定された既定のドライバが見つかりません。』


どのようにしたら、エクセルのセルに表示できるのか教えてください。
できたら、DB接続するようなソーステンプレートあったらください。
それを参考に動かしたいです。

923 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 16:20:10
とりあえずエラーハンドラ無効にした方がいいんじゃないの

924 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 16:26:32
というか現時点じゃExcelにまったく関係ないな。スレ違いだ。

925 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 16:29:39
でもプログラム板に持ってくと「Excelの事はExcelスレで聞け」と言われる罠

926 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 16:31:20
vba専用スレあるからそっちで聞いてみては?

Excel VBA質問スレ Part8 [プログラム]
http://pc11.2ch.net/test/read.cgi/tech/1219673793/l50x


927 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 16:36:43
「品番・商品名・配達地域・受注数」をピボットテーブルで
以下のような形式で並べたいのですが、A列に複数の
要素を入れるにはどうしたらいいのでしょうか。

     A列       B列
 ┌──────┬────┐
1│品番      .│      │
 ├──────┼────┤
2│ 商品名    │      .│  3列で1セット
 ├──────┼────┤
3│  配達地域 │ 受注数 │
 ├──────┼────┤
          :
          :


 A列:品番
 B列:商品名
 C列:配達地域

ならデフォルトのドラッグで作れるんですが、
どーも同一列に並べる方法がわからんとです

928 :918:2008/10/06(月) 16:36:50
すみません、書き忘れでした。解決しました。

結果:想定どおりの動きができました。

原因:レコードセットオープン時、SQL発行したあと、コネクション張り忘れてました。


rs.Open "SQL_String"


rs.Open "SQL_String", con


929 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 20:56:38
>>926
間違った誘導するな

930 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 21:07:36
>>925
「Excelの事」ならね、当然でしょ
VBA使っても、やりたいことが「Excelの事」でなければ基本的に撥ねられないし
撥ねる奴がいたらそいつがおかしいんだから無視すれば良い

931 :名無しさん@そうだ選挙にいこう:2008/10/06(月) 23:30:10
VBAはこれから勉強する予定だけど、>>918の質問だと、,VBAスレできいたほうがいいの?聞かないほうがいいの?


932 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 00:44:09
>>931
VBAスレってのがExcel VBA質問スレの事なら、聞かない方がいい。
今回の話はADOの話なのでスレ違いになる。

933 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 08:31:30
excel2007です。
人が作って送付されてきた表ですが、ウィンドウ枠が固定されています。
表示→固定の解除 で、解除しようとするのですが
固定の解除が、押せない状態となっています(色が出てこないで、薄いグレーのまま)。
どうすれば、枠を解除できますか?

934 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 08:37:51
保護を解除
解除にパスが必要なら作った人に聞いて

935 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 09:26:42
>>934レスどうもです。
保護ではなくて、ウィンドウ枠の固定の解除です。
作った人は、パスは設定してないです。
複数の人から表を頂いていますが全て枠の解除も固定もできません。

送付してくれた人はexcel2003で
自分のはexcel2007ですがその関係でしょうか?
ちなみに他のexcel2003の人に解除・固定を試してもらったら
解除も固定もできました。

936 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 09:50:54
いやだから、固定・解除できないのはワークシートを保護してるせい
だろうから、それを解除してから枠固定の解除をしろって話でしょ。

その頼まれ手解除した2003の奴も、保護気づいて
「あぁ保護されてんのか。保護解除して枠固定解除、っと。」
とやって、その経緯を説明せずに「固定できましたよ」程度の報告しか
してないのかも知れんし。まぁどちらにせよ直ったならいいか。

937 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 09:51:26
×「固定できましたよ」
○「固定解除できましたよこの豚野郎!」

938 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 09:52:48
ピボットテーブルで整形された表って折り返せるんでしょうか。
どうも縦に長くなって見づらくて…

939 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 10:02:49
>>936
なるほどわかりました。詳しくありがとうございました。

>>937
自己紹介どうも。

940 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 11:59:04
>938
折り返せるよ。
でも、それはそれでみづらいような。。


941 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 12:10:44
>>824
>>825さんが書いておられるフレームを使う方法と、もう一つ、マルチページを使う方法があるようです。
[次へ][戻る]を押すことでマルチーページのアクティブなタブを次々に切り換えていくやり方です。
styleプロパティの設定でタブの表示を見えなくできるようなので、マルチページをユーザーフォーム
いっぱいに配置すれば、ウィザードそっくりのフォームを作ることができると考えられます。お試しあれ。

942 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 12:16:47
【1 OSの種類 】 Windows XP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可

質問1

矩形範囲内の複数フォームを同時に選択する方法はありますか?

質問2

フォームをオートシェイプで隠す方法。

どちらも2003では直感的な操作で出来たのですが、質問1のほうは、オートシェイプしか選択できず、質問2のほうはフォームの方がレイヤーが上のような動きをします。

943 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 12:21:47
>>942
2007がないので質問には答えようがないけど気になったので聞き返してみる
操作したいのはコントロールじゃなくてフォーム?

944 :942:2008/10/07(火) 12:30:47
そうです。チェックボックスやラジオボタン等です。

操作されたくないときに半透明のオートシェイプで隠したいのです。(VISIBLE=FALSEだとあることすら見えなくなるのでNG)

945 :941:2008/10/07(火) 12:40:17
>>941の訂正。
styleプロパティを持つのはマルチページではなくタブストリップのほうでした。失礼しました。

946 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 12:41:10
>>944
Enabled=False
ではいけないのか?

947 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 12:42:33
>>945
styleプロパティなら両方持ってると思うのだが・・・

948 :942:2008/10/07(火) 12:51:38
>>946
レスありがとうございます。

当然、必要外の時は操作されないようにFALSEになるようにしてあります。

が、「視覚的に今は操作できない」というふうに見せたいのです。

結論として、フォームの上にオートシェイプを表示させることは出来ないのでしょうか…

949 :938:2008/10/07(火) 13:02:53
>>940
折り返せるんですか。いろいろ検索したのですがどーにも方法が書いておらず
もしかしてテーブルを作る時点で複数行にするのかとも思ったのですがこれも
方法が書いておらず、えぇいピボらなければどうということはない!と手動で
切り取り&貼り付けしようとしたら怒られたりと、おかしいですよカテジナさん
状態なんです。

950 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 13:08:54
>>948
そもそもオートシェイプをフォームだったら前面に持ってこれないと思うんですけど・・・
シートに直接コントロールを置いてるんですよね?
コントロールを最背面にしてオートシェイプを最前面にしても無理なんですか?

>>949
他のシートにコピペは?

951 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 13:14:45
>>950
うひょーそいつは盲点

952 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 13:18:09
>>950

そもそもも何も2003だとオートシェイプでフォームを隠せます



953 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 13:22:06
途中で書き込んでしまいました。

>>950続き

当然最背面だか最前面だかは試してます。レイヤー的な動きしてるようですって書きましたよね?
実際に試しもせず、的確な答えが分からないまま憶測で答えたりしないでください。


954 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 13:43:58
エクセルの関数について教えて下さい。
Vlookupを使って拾った値を合計できるんでしょうか?
わかる方いたら教えて下さい。

955 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 15:15:53
今は答えを出してるんじゃなくてあいまいな部分を明確にしたくてレスしてるのにあんな風に言われるとは・・・
これも憶測ですが今出ている情報だけでは最初から答えを知ってるエスパーが来ない限りはっきりした答えは出てこないと思います

>2003だとオートシェイプでフォームを隠せます
どうやって実現してるか気になります
コントロールではなくフォームをオートシェイプで隠せるのか・・・


>>954
数値なら可能、としか言いようがない
何がしたいのかとか書いとくといいと思う

956 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 15:46:01
こうして上から目線合戦はいつまでも続くのであった

957 :953:2008/10/07(火) 16:17:43
>>955
言葉が荒くなってすみませんでした。

自分のいうフォームというのは、エクセル専用コントロールのことです。
>>955さんのおっしゃっているであろうActiveXコントロールのことではありません。

ちなみに2003では後者もオートシェイプで隠せます。

958 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 16:42:28
>>953
エクセル専用とかActiveXという単語がどこから出てきたのか分からないけどまぁ取り合えず置いといて
「フォーム」と「コントロール」を区別しておきたかっただけなんですが・・・
質問をまとめると
Excel2007でシート上にある「コントロール」をオートシェイプで隠したい
ですね?

959 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:03:52
>>958
2007では「挿入」を選ぶとフォームコントロールとActiveXコンロールがいっぺんに出てくるのよ。
どちらにも同じようなコンポーネントがあるから、違いがわかりにくいと思う。
ttp://aaabbbccc.s6.x-beat.com/upload/src/up20339.png

960 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:03:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 3軸 グラフ


論文などではよく見かけるのですが、Excelを使って横軸1つで縦軸3つの3軸グラフを書きたいと思っています。

検索してみると結構引っかかるのですが、そのどれもが別の表計算ソフトを使うか、2つのグラフを重ね合わせるという方法ばかりで
根本的な解決方法が書かれていません。

そこで質問なのですが、バージョンが2007のものはこの機能が標準でついていますでしょうか?

それとこの機能をVBAを使ってでも良いので使えるようになる方法がありましたら教えて下さい。

何卒よろしくお願い致します。


961 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:07:47
>>960
Excelでは無理
「根本的な解決方法」とやらが書かれていないのは、それが当たり前すぎるほど無理な相談だから。馬鹿な相談してる暇あったら、代替方法でグラフ書いて、無駄な時間使わずに論文仕上げろ

962 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:34:33
ちょっと試してみたけど、確かに2003と2007ではオートシェイプの挙動がだいぶ違うね。
色々違いがあるのは知ってたけど、こういう違いもあることは始めて知った。

代替案だけど、ボタンの背景色とキャプションの文字の色を薄いグレーに変えるってのはどうだろう?
Windowsのルールでは、押せないボタンの文字はグレーにすることになってるし。
オートシェイプで隠すよりスマートというか、むしろ正当な方法だと思うけど。

963 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:37:43
2003でボタンの上にオートシェイプを置いたシートを作って保存して、
それを2007で開いたら勝手に順番が変わってた。
つまり、2007では無理の可能性が高い。

964 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:42:50
>>961
当たり前すぎるほど無理、というのはどういうことですか?


965 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 17:55:35
>>957-958
厳密にはExcel専用じゃなくてOffice専用ね。実際にそういうコントロールがあるのよ。
一方ActiveXコントロールはWindowsが標準で持ってるライブラリを使うとか、そんな感じだったはず。

966 :958:2008/10/07(火) 18:13:28
できるかどうかは試してないが
代案としてWeb周りのコントロールに半透明のPNGを表示とかでどうだろうか?

ただの思いつきですが・・・

967 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 18:24:00
まともなのは962だけだなw
あとはどこの顔色見ながら答えてるんだかwww

968 :942:2008/10/07(火) 18:50:06
皆さんいろいろな案をだしてくださりありがとうございました。

質問1のほうはどなたかわかるかたいませんか?
フォームコントロールを複数一度に選択する方法です。

969 :958:2008/10/07(火) 19:54:03
>>942
このサイトに載ってる内容かな?

ワークシートのコントロールを選択または選択解除する
ttp://office.microsoft.com/ja-jp/excel/HP102366951041.aspx

970 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 20:52:11
こんばんは。お世話になります。
質問させてください。(WindowsXP,Excel2003,VBAは出来れば使いたくないです。)

 | A B C D E
------------
1| 0 1 2 3 4
2| 3 6 3 2 1

上記のような2行5列に値が設定されたシートについて、
2行目の中で値が最大であるセルの1行目の値を求める計算を行いたいのですが、可能でしょうか。
上記であれば、2行目最大が『6』であるので、対応する1行目の『1』を得たいです。
最大を得るだけならば、maxでいいのですが、最大のときに特定行の値を出力したいです。

よろしく御願いします。

971 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 20:56:48
やっぱりいいです。あなた方の世話にはなりたくないし。

972 :970:2008/10/07(火) 21:04:06
971は偽者です…ナゼ…

973 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 21:06:19
>>970
index関数を使う
列位置はMAXで取り出した値

974 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 21:14:51
Sheet1 Sheet2で、画面を上下に分けて表示させる方法を教えてください。

975 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 21:19:20
メニューバーのどこかにあったけど忘れた
ウィンドウを分割、だったかな
データ・ツール・表示辺りをテキトーにさわってればその内できるだろ

976 :970:2008/10/07(火) 21:24:08
>>973
そういうことではないんですが…。

>>975
忘れたとかテキトーとかはいいです。ちゃんと調べてからにしてください。

977 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 21:29:16
まーだ騙りやってんのか
年越す前にしっかり病院行けよお前は

978 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 21:30:28
>974
ウインドウ→新しいウインドウを開く
更に、 ウインドウ→整列

979 :名無しさん@そうだ選挙にいこう:2008/10/07(火) 22:27:20
>>973
単純に間違ってる・・・

>>970
=INDEX(1:1,MATCH(MAX(2:2),2:2,0))
1行が例題の通りならば
=MATCH(MAX(2:2),2:2,0)-1
だけでも可

980 :970:2008/10/08(水) 00:32:09
970です。
レスありがとうございます。
>973
力及ばず解決できませんでした。
>979
できました!

INDEXもMatchも初めての関数で、聞いたこともありませんでした。
簡単には出来なかったのですね。ありがとうございます。
またどうぞ、よろしく御願いします。

ところで前々から疑問だったのですが、976氏が偽者というのは何故わかるのでしょうか。
自分の名前で投稿されているとショックなのですが、気付いてくれる人もいて、何故区別がつくのか??です。

981 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 00:41:02
>>980
文体が違うし、無関係な回答にレスを付けているからです。

982 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 01:25:19
2ちゃんねる管理人のひろゆきさんが
「嘘を嘘と見抜けないと(掲示板を使うのは)難しい。」
と言いました。
ここにはへんな奴らが紛れ込んでいるので気をつけましょう。

983 :アズ:2008/10/08(水) 05:11:43
最近パソ購入(中古)してエクセル勉強しようとしてるんですケド
買った参考書がエクセルの2003とか2002で
家に帰って確かめたらパソのが2000だったりして(−W−;)
2003or2002ってどっかでダウンロードできたりしないですか?

984 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 06:28:28
おはようございます

>>983
あまり変わってない機能の方が多いから勉強はそのままできるし
むしろ「ここが2000と違う」ということに気付ければ
色んなVersionの特性を知ることになって身に付く物も多いかと。

985 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 06:52:54
質問よろしくお願いします。
やりたいことは以下のようなことです。

1つのセルの中に、以下のように書かれてるとします。

鈴木、石井、田中、小泉、石原

5人なので、ここから自動的に「5」という数字を計算して、隣のセルなどに表示させたいの
です。何か良い方法はないでしょうか?
「、」だけを数え上げる関数などないのでしょうか?

986 :985:2008/10/08(水) 07:05:24
解決しました。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/mojiretu01.html

987 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 08:34:40


988 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 12:06:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 ?

バックを黒にして字や線を白にしたいんですが
よろしくお願いします。

989 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 12:12:26
>>988
書式設定で色を変えるだけだろ

990 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 12:26:28
>>988
ctrl+aで全体を選択してから変えるといいよ


991 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 12:27:02
>>988
ctrl+aで全体を選択してから変えるといいよ


992 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 13:02:50
ありがとうございました。

993 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 13:18:59
すいません、やり方がわかりません。
A1の左上のところをクリック → ツールバーの書式
ですか?その先がわかりません。

994 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 13:37:25
>>993
988のことだよな?
やりたい範囲を選択してctrl+1
もしくは右クリック→セルの書式設定

995 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 14:37:55
>>988
デスクトップを右クリック→プロパティ→デザイン→配色→ハイコントラスト 黒

996 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 16:47:29
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 コメント エクセル :
コメントを挿入するとユーザー名が表示されるのですが、
これを挿入しない方法はありませんか?
ツール→オプション→ユーザー名でここに何も表示しないと
パソコンのコンピュータ名が表示され、空白だと「:」が表示されてしまいます
「:」も表示しない方法があれば、教えて下さい。よろしくお願い致します。

997 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 17:27:48
>>996
最初から何も出さない方法はありません。
コメントを入れたあとVBAで消すことは可能です。

998 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 18:10:41
>>997
ありがとうございます
コンパクトにするときには必ず名前か「:」を消さないとダメなんですね
セキュリティの関係上、残念ながらvbaは使えないんです


999 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 19:53:54
Excel総合相談所 74
http://pc11.2ch.net/test/read.cgi/bsoft/1223462844/
どすれ

1000 :名無しさん@そうだ選挙にいこう:2008/10/08(水) 20:05:54


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

342 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)