mu2011 の回答履歴
- エクセルにて以下のことを実現したい。
A B C 1 ○ 1 2 × 2 3 × 3 4 ○ 0.5 5 × 2 6... 以上の様なマトリクスにて。 A列が条件セル,B列がデータセルとします。 C列セルを計算セルに, (1)同行のA列が○ならば「0」。 例:C1=0 (2)同行のA列が×ならば, そこより上段で,最も近い○からの差分を計算。 例:C2=2-1=1 C3=3-1=2 C5=2-0.5=1.5 としたいのです。 うまいやり方をご教授いただけないでしょうか?
- ベストアンサー
- オフィス系ソフト
- teppekisan
- 回答数7
- 値の取得
現在Excelのシートで A~IのデータをK~Q列に=で参照して表示しています。 2行目の参照の式をA列のデータがある場所までコピーしていますが、 大変時間がかかります。 効率のいい方法をおしえていただけないでしょうか。。? できれば値だけを取得したいです。 よろしくお願いいたします。 作成しているマクロは以下のとおりです。 Sub Macro1() Dim R As Long For R = 3 To Cells(Rows.Count, "A").End(xlUp).Row Range("k3").Copy Cells(R, "k") Range("l3").Copy Cells(R, "L") Range("m3").Copy Cells(R, "M") Range("n3").Copy Cells(R, "N") Range("o3").Copy Cells(R, "O") Range("p3").Copy Cells(R, "p") Range("q3").Copy Cells(R, "q") Range("r3").Copy Cells(R, "r") Range("s3").Copy Cells(R, "s") Next R End Sub
- 締切済み
- Visual Basic
- dertoromk
- 回答数4
- エクセルVBAについて
VB初学者です。 この度上司命令にて多少かじり始めました。(今まで完璧な文系人間で生きてきました) 2点伺わせていただきます。 (1) Sub aaa() Range("A1:F10") .select With Selection . . . . End With End Sub この際("A1:F10") に限定せず、このマクロをどのセルにも適応するようにするにはどのようにしたらよろしいのでしょうか。なお、インプットボックスは使わずに、任意のセル(或いはセル範囲)に適応させることは可能なのでしょうか。 (2) A列に文字が入力されているセルと空白セルが混在しているとします。 A列を参照して空白の場合、同行のB列に何らかの記号を出力する処理場合のコード (A列が空白でない場合B列には何も出力しない) どなた様かご教示いただけますと大変助かります。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- k-suzuki
- 回答数2
- VLOOKUPとIFの質問です
エクセルデータベースからの抽出について質問です。 主キー(受注番号、管理番号など)を検索してあれば、実行、なければ空欄を表示ずるようにしたいのですが、出来るのでしょうか? たとえば、 IF条件…A1に入力された値(主キー)を、DBより検索し、あれば 真の場合…A1に入力された値の存在した列から数えての、指定した列の値を表示する 偽の場合…空欄を表示する この場合の、IF条件で、vlookupを使うと思うのですが、値があるかないかを区別する方法がわかりません。
- ベストアンサー
- オフィス系ソフト
- kaede_c104
- 回答数4
- 2つの数値の組合せで区分わけしたい(エクセル)
A行に4桁(1900~2013)の数値が、B行に1~12の数値がそれぞれランダムに4万件ほどあります。 数値の意味的にはA行は「西暦」、B行は「月」なのですが、この組合せを下記の7区分に分ける方法があれば教えていただきたく、よろしくお願いします。 フィルタ▼で検索して作業していたのですが、同じ作業をあと25ファイル分あることに気づき、 作業セルに【区分】の1~7が表示される最適な関数があれば教えてください。 (エクセル2002) 【区分1】 2010年4月以降 【区分2】 2008年4月~2010年3月 【区分3】 2006年4月~2008年3月 【区分4】 2001年4月~2006年3月 【区分5】 1996年4月~2001年3月 【区分6】 1991年4月~1996年3月 【区分7】 1991年3月以前
- 条件のあう数値の個数を種類別に数える関数について
下の表1からR1の1の個数、R1の2の個数、・・・を表2に示したいです。 今考えていることは、表2のセルB2に、 "(例えば表2のセルA2の)R1"とおなじデータが表示されている(表1のA1:E16の範囲の)セルの列の2行目から16行目の"(例えば)1"の個数を調べる関数 をいれたらいいのでは?と考えています。 でも、その関数の組合せがわかりません。 あるいは、他に良い方法がありますか?教えてください。 よろしくお願いします。 (表1と表2を添付しました。)
- ベストアンサー
- その他([技術者向] コンピューター)
- goseinaito
- 回答数5
- 【エクセル・VBAコードの書き方】データの抽出
1位 2位 3位 4位 5位 A B 25 C 30 18 D E 11 VBAの初心者であります。 上のエクセルの表において、以下の作業を自動的に行なえるようなVBAのコードを教えて頂けると有り難く思います。 まず表の説明からしますと、 A~Eは人の名前を表しています。 1~5位は彼らの順位(ある競争)です。 数値が四つ(25、30、18、11)ありますが、 この四つの数値のなかで、20以上のものだけが、別のシートに自動的に入力されるようにしたいです。 かつ、その20以上の数値の位置(例えば25であれば、B、2位)もそのシートに入力されるようにしたいのです。 例えば別のシートでは以下のようにデータを表したいです。 名前 順位 数値 B 2位 25 C 3位 30 感覚的にはif 文とLoop文を用いると思うのですが、、うまくコードが組めません。 そもそもこれらの作業をVBA(マクロ)に組むことができますでしょうか。 宜しくお願いいたします。
- 締切済み
- その他MS Office製品
- orientlight
- 回答数4
- 条件のあう数値の個数を種類別に数える関数について
下の表1からR1の1の個数、R1の2の個数、・・・を表2に示したいです。 今考えていることは、表2のセルB2に、 "(例えば表2のセルA2の)R1"とおなじデータが表示されている(表1のA1:E16の範囲の)セルの列の2行目から16行目の"(例えば)1"の個数を調べる関数 をいれたらいいのでは?と考えています。 でも、その関数の組合せがわかりません。 あるいは、他に良い方法がありますか?教えてください。 よろしくお願いします。 (表1と表2を添付しました。)
- ベストアンサー
- その他([技術者向] コンピューター)
- goseinaito
- 回答数5
- INDIRECT関数で指定のセルを表示したい
こちらの質問でINDIRECT関数を使って指定のセルを指定できました。 http://okwave.jp/qa/q6920409.html だたエラーになってしまします。 おそらく1つ1つ値の更新をしないといけないと思います。 これではかなり手間なのでINDIRECT関数を使って指定のセルを自動で表示できませんか? 同じフォルダ内のブックを使います。
- ベストアンサー
- その他MS Office製品
- benitier59
- 回答数3
- IF関数か他の関数で、5つの複数条件を設定したい
IF関数をつかって、下記の条件で設定したいと思っています。 C5セルに 「=A5-B5」 という式を入れ、その際、C5セルに下記条件にあるような回答が出た場合、D5セルに、「ランクA」~「ランクE」のような表示が出るようにしたいのです。 初歩的かもしれませんが、どうかよろしくお願い致します。 (条件) +5以上 ⇒ 「ランクA」を表示させる +2以上~+5未満 ⇒ 「ランクB」を表示させる -2以上~+2未満 ⇒ 「ランクC」を表示させる -5以上~-2未満 ⇒ 「ランクD」を表示させる -5以下 ⇒ 「ランクE」を表示させる
- ベストアンサー
- その他MS Office製品
- burakky
- 回答数7
- Excel のメッセージを抑制できますか?
Excel 2010 VBA 実行中にどうしても出るメッセージを抑制できないでしょうか? 例えば、VBAでシートの削除や、データーの存在するセル同士を結合するときなどのメッセージを出さないのが目的です。
- ベストアンサー
- その他MS Office製品
- Agusuke
- 回答数1
- エクセルの質問です。
エクセルの質問です。 エクセルにおいて 任意指定した特定セルのみを 書き込み不可に出来る 方法 もしくは フリーソフトが、知りたいです。 パスワードで解除可能。 宜しくお願いします。
- ベストアンサー
- Windows XP
- de-syo
- 回答数3
- Excel2007 IF関数での日付データ認識
下記式で、2004/3/31以前を真とし、Vlookupを区別させたい。 【作成した式】=IF($D4<=3/31/2004,VLOOKUP($C4,Sheet3!$E$2:$G$26,2,FALSE),VLOOKUP($C4,Sheet3!$E$27:$G$51,2,FALSE)) 論理部分の日付の認識が ">=" と ">=" が逆になり ">=" のみあるいは ">=" の結果しかでずにおります。 関数で日付を認識させるには特別なルールが必要でしょうか。 D4(D列)は日付データ(例:2001/10/5)を入れてある。 Vlookup計算は機能している。 アドバイスをどうぞ宜しくお願いいたします。
- ベストアンサー
- その他MS Office製品
- Sophie3
- 回答数3
- カレーを、ご飯にかけずに直接食べるのってどう?
例えばシチューなどは、普通はスプーンを使ってそれだけで食べますね。 (シチューをご飯にかけることもありますが、とりあえず置いておいて) それと同じように、カレーをご飯にかけずにカレーだけをスプーンで口に運んで、ご飯は別に食べるような・・・ そういう食べ方をしたことがありますか? そういう食べ方って、アリだと思いますか?
- ベストアンサー
- アンケート
- localtombi
- 回答数14
- INDIRECT関数で指定のセルを表示したい
こちらの質問でINDIRECT関数を使って指定のセルを指定できました。 http://okwave.jp/qa/q6920409.html だたエラーになってしまします。 おそらく1つ1つ値の更新をしないといけないと思います。 これではかなり手間なのでINDIRECT関数を使って指定のセルを自動で表示できませんか? 同じフォルダ内のブックを使います。
- ベストアンサー
- その他MS Office製品
- benitier59
- 回答数3
- ExcelのVBAで高さの設定
どなたか教えて下さい。 報告書のフォーマットの作成をしています。 A列からE列までは日付や名前等の内容が入力されています。 F列にはそれに関するコメントが入力されています。 コメントの文字数は、少なければ10字程度、多ければ320文字程度あります。 文字数に合わせて高さを変更させたいです。 その為、以下のような事を行いました。 (1)G列にLEN関数を用いて、文字数を表示 (2)G列の文字数によって高さを変更させるVBAを作成 Sub Macro1() For i = 2 To 100 If Cells(i, 6) < 72 Then Rows(i).RowHeight = 80 ElseIf 73 < Cells(i, 6) < 108 Then Rows(i).RowHeight = 120 ElseIf 109 < Cells(i, 6) < 144 Then Rows(i).RowHeight = 160 ElseIf 145 < Cells(i, 6) < 180 Then Rows(i).RowHeight = 200 ElseIf 181 < Cells(i, 6) < 216 Then Rows(i).RowHeight = 240 ElseIf 217 < Cells(i, 6) < 252 Then Rows(i).RowHeight = 280 ElseIf 253 < Cells(i, 6) < 288 Then Rows(i).RowHeight = 320 ElseIf 289 < Cells(i, 6) < 324 Then Rows(i).RowHeight = 360 End If Next End Sub このVBAに記述間違いがあるようで、 「文字数が72文字以内であれば、高さを80に変更。 文字数が73文字以上で108文字未満であれば、高さは120」 までは認識し・高さの設定を行ってくれますが、108文字以上あっても高さは120になってしまいます。 どなたか教えて下さい。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- reereeree876
- 回答数5
- Excel2007VBA 日付の加算について
●質問の主旨 コピー元のシートの特定セル(A3セル)に入力されている日付に対して 加算を行い、その加算した日付をシート名とコピー先の シートの特定セルに入力するためにはどうすればよいでしょうか? 具体的には下記のコードをどのように書き換えればよいでしょうか? 「Worksheets(i + 1).Name = mydate」のところでエラーが出てしまいます。 ご存知の方、ご教示願います。 ●コード Sub 一週更新() Application.ScreenUpdating = False Dim i As Integer Dim mydate As Date '既存のシート数を取得 i = ThisWorkbook.Worksheets.Count '最終シートをコピーして後ろに挿入 Worksheets(i).Copy after:=Worksheets(i) 'mydateは最終シートのA3セルに入力されている日付の1週間後の日付とする mydate = DateAdd("ww", 1, Worksheets(i).Range("A3")) '追加したシートのシート名はmydate2の日付とする Worksheets(i + 1).Name = mydate '新しく作成したワークシートについて以下の処理を行う With ActiveSheet Range("A3") = mydate Range("A12").ClearContents Range("A19").ClearContents Range("A26").ClearContents Range("A32").ClearContents End With Application.ScreenUpdating = True End Sub ●補足 上記コードは週単位の報告書を作成するためのコードです。 コピー元のA3セルは表示上は9/16となっており、 「セルの書式設定上」は「日付」→「3/14」, ロケールは日本語です。 私はVBA初心者です。
- ベストアンサー
- Visual Basic
- dradra33
- 回答数3
- エクセルではIF関数なのにアクセスではIIF関数?
なぜエクセルではIF関数なのにアクセスではIIF関数? IF関数はアクセスではIIF関数になりますが、 なぜ「I」が増えるのでしょうか? またIF関数はイフ関数と読みますが IIF関数は「イイフ」関数と読めばいいのでしょうか? よろしくお願い致します。
- 一致するデータを複数シートから別のシートへ移動
Sheet1~Sheet3を用いて、 Sheet1とSheet2でそれぞれのC列の項目が一致するデータを抽出し、 該当するデータの Sheet1B列⇒Sheet3D1 Sheet2A列⇒Sheet3A1 Sheet2B列⇒Sheet3B1 Sheet2C列⇒Sheet3C1 に移動するためのマクロを組みたいと思っています。 Sheet2からSheet1に検索をかけて、 Sheet2C列≠Sheet1C列であればSheet2のA1行を削除していき Sheet2C列=Sheet1C列であれば Sheet2A~C列をSheet3A~C列へ移動するところまでは出来ました。 ※なお、Sheet3のA1行に文字列があればセルを1行追加する設定にしています。 しかし、それはA1行の文字列をそのままコピペしているだけなので Sheet1B列の一致データをSheet3D1へ移動するやり方が思い浮かびません…。 Sheet2と同じくA1行を削除していこうとしてもうまくいきませんでした。 どんどんマクロも指示文ばかりが増えてわけが分からなくなってきてしまい、挫折しています。 シンプルにするにはどうすればいいでしょうか? また、マクロの内容を載せたいのですが 会社の業務端末で組んでいるため転記できません; 申し訳ありませんが、どうかご指導ください。
- 締切済み
- その他MS Office製品
- young_goat
- 回答数3
- Excel関数式で対応出来るか教えて下さい
例えば 0001 0125 2532 3286 8545 という数字がA列の1行目からB列1行目・・・というふうに、 順番に一行に入っていたとします。 (次の行も同様に、何かしらの数字が入っています。) ひとつのセルに入った4桁の数字の下2桁が、次のセルに入っている数字の上2桁と一致していないとエラーが出るような関数式を探しています。 例では最後のセルに入っている4桁の8545の85がひとつ前のセルに入っている数字3286の下2桁86と一致していないのでエラーとなります。 数字の4桁が5桁になって、下3桁が上3桁と一致しているか確認、下2桁が上2桁と一致しているか確認というケースが混在する時もあります。 チェックする数字が大量にあるため、フィルターでチェックするのには気が遠くなります。 お知恵を拝借出来ますよう、宜しくお願い致しますm(__)m